• 单文件版本的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/

  • 相关阅读:
    Log4Net使用
    4月博文
    论坛题目练习
    职场冷笑话两则
    初识管理的一些心得
    Project中分清楚挣值项
    预留规划项
    小感触
    好事多磨,好事成双
    忧郁
  • 原文地址:https://www.cnblogs.com/sevencatwang/p/9126034.html
Copyright © 2020-2023  润新知