如何在ASP.NetCore中使用HTTP.sysWebServer?转载本文请联系码农阅读公众号。ASP.NetCore是一个开源、跨平台、轻量级的模块化框架,可用于构建高性能的Web程序。大家都知道Kestrel是ASP.NetCore内置的跨平台web服务器,但是它有一定的局限性,比如不支持端口共享、WebSockets等,怎么办?如果你的web只需要部署在windows上。如果你只是需要一个轻量级的网络服务器。如果您需要Kestrel没有的更多功能。试试HTTP.sys,它是Windows上Kestrel的替代品。为什么要使用HTTP.sys首先看一下HTTP.sys的部署方式,如下图所示:从图中可以看出,HTTP.sys可以让Web直接对外提供服务,而不需要传统的重量级IIS,请求会先到达HTTP.sys,然后在内部为请求创建队列和应用程序池。让我们看一下HTTP.sys中包含的功能。Windows认证WebSockets端口共享基于SNI的HTTPS响应缓存直接文件传输在ASP.netCore中配置HTTP.sys其实配置起来非常简单,在构建webHost的过程中使用UseHttpSys将HTTP.sys引入ASP.netCore,以下代码显示:publicclassProgram{publicstaticvoidMain(string[]args){CreateHostBuilder(args).Build().Run();}publicstaticIHostBuilderCreateHostBuilder(string[]args)=>Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder=>{webBuilder.UseHttpSys(选项=>{选项.Authentication.Schemes=Microsoft.AspNetCore.Server.HttpSys.AuthenticationSchemes.None;选项.Authentication.AllowAnonymous=true;选项.MaxConnections=100;选项.MaxRequestBodySize=1000000;选项.UrlPrefixes。("http://localhost:5000");});webBuilder.UseStartup
