zoukankan      html  css  js  c++  java
  • 单文件版本的netframework的net core 2.1

    如果你还在用net4.5,如果你还在用netframework,又想使用netcore2.1的库或者功能,又觉得nuget动不动就好大,可以试试下面的这个。

    https://pan.baidu.com/s/1uxywusd485RgqxSnuVTzQw

    就一个dll,里面netcore新增的功能,比如span,比如新的非winhttp.dll的httpclient,都可以用

    例:

    创建一个新的console netframework4.5的项目

    using Microsoft.AspNetCore.Builder;
    using Microsoft.AspNetCore.Hosting;
    using Microsoft.Extensions.Logging;
    using Microsoft.AspNetCore.Http;
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using Microsoft.AspNetCore.Server.Kestrel.Core;
    using Microsoft.AspNetCore.Server.Kestrel.Core.Internal;
    using Microsoft.Extensions.Options;
    using Microsoft.AspNetCore;

    namespace testhttp
    {
    class Program
    {
    static void Main(string[] args)
    {
    Http();
    }

    static void Http()
    {
    var host = new WebHostBuilder()
    .UseKestrel(options =>
    {
    // options.ThreadCount = 4;
    //options.NoDelay = true;
    //options.UseConnectionLogging();
    })
    .UseUrls("http://127.0.0.1:5001")
    .UseContentRoot(Directory.GetCurrentDirectory())
    .UseStartup<Startup>()
    .Build();
    host.Run();
    }
    }

    public class Startup
    {
    public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
    {
    loggerFactory.AddConsole(LogLevel.Trace);

    app.Run(async context =>
    {
    Console.WriteLine("{0} {1}{2}{3}",
    context.Request.Method,
    context.Request.PathBase,
    context.Request.Path,
    context.Request.QueryString);
    Console.WriteLine("Method:{0}", context.Request.Method);
    Console.WriteLine("PathBase:{0}", context.Request.PathBase);
    Console.WriteLine("Path:{0}", context.Request.Path);
    Console.WriteLine("QueryString:{0}", context.Request.QueryString);

    var connectionFeature = context.Connection;
    Console.WriteLine("Peer:{0}", connectionFeature.RemoteIpAddress.ToString());
    Console.WriteLine("Sock:{0}", connectionFeature.LocalIpAddress.ToString());

    context.Response.ContentLength = 11;
    context.Response.ContentType = "text/plain";
    await context.Response.WriteAsync("Hello world");
    });
    }
    }
    }

    这样就可以了,对了libuv你自己下一个,丢到输出目录 ,或者用这个nuget

    https://www.nuget.org/packages/Libuv/

  • 相关阅读:
    php cookie名不能使用点号(句号)
    jquery:iframe里面的元素怎样触发父窗口元素的事件?
    __destruct与register_shutdown_function执行的先后顺序问题
    curl: (60) SSL certificate problem: unable to get local issuer certificate 错误
    js与as3交互的问题
    启动smaba后nginx 11 resource temporarily unavailable[转载]
    PHP错误: Exception thrown without a stack frame in Unknown on line 0[转载]
    Discuz x2.5的注册后返回第三方应用
    laravel-admin select关联
    laravel-admin 自动生成模块
  • 原文地址:https://www.cnblogs.com/sevencatwang/p/9126034.html
Copyright © 2011-2022 走看看