您现在的位置是:亿华云 > 系统运维
如何在 ASP.Net Core 中使用 HTTP.sys WebServer ?
亿华云2025-10-03 22:08:18【系统运维】8人已围观
简介本文转载自微信公众号「码农读书」,作者码农读书。转载本文请联系码农读书公众号。ASP.Net Core 是一个开源的,跨平台的,轻量级模块化框架,可用它来构建高性能的Web程序,大家都知道 Kestr
本文转载自微信公众号「码农读书」,使用作者码农读书。使用转载本文请联系码农读书公众号。使用
ASP.Net Core 是使用一个开源的,跨平台的使用,轻量级模块化框架,使用可用它来构建高性能的使用Web程序,大家都知道 Kestrel 是使用 ASP.Net Core 内置的跨平台web服务器,但是使用它有一定的局限性,比如不支持 端口共享 ,使用 WebSockets 等等,那怎么办呢?使用
如果你的站群服务器web仅需部署在 windows 上。 如果你只需轻量级的使用web服务器。 如果你需要更多的使用 Kestrel 没有的功能。可以尝试用 HTTP.sys,使用它可以作为 Kestrel 在 windows 上的使用替代产品。
为什么要使用 HTTP.sys
首先看一下 HTTP.sys 的部署方式,如下图所示:
从图中可以看出 HTTP.sys 可以让 Web 直接对外提供服务,无需传统的重量级IIS,请求首先会达到 HTTP.sys,然后内部会为 请求 创建一个队列和一个应用程序池。
接下来看看 HTTP.sys 所包含的特性。网站模板
windows 验证 WebSockets 端口共享 基于SNI的HTTPS 响应缓存 直接文件传输ASP.net Core 中配置 HTTP.sys
其实配置非常简单,在构建 webHost 的过程中使用 UseHttpSys 将 HTTP.sys 引入到 ASP.net Core 中,如下代码所示:
public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseHttpSys(options => { options.Authentication.Schemes = Microsoft.AspNetCore.Server.HttpSys.AuthenticationSchemes.None; options.Authentication.AllowAnonymous = true; options.MaxConnections = 100; options.MaxRequestBodySize = 1000000; options.UrlPrefixes.Add("http://localhost:5000"); }); webBuilder.UseStartup<Startup>(); }); }值得注意的是,在跑程序之前,一定要在 launchSettings 中选择合适的节点,因为 Visual Studio 默认会用 IIS Express 执行,所以这里选择 WebApplication3 就可以了。
接下来就可以把程序跑起来,如下图所示:
从图中的 warn: Microsoft.AspNetCore.Server.HttpSys.MessagePump[37] 可以看出,当前已成功用 HTTP.sys 作为web服务器。
很赞哦!(93)
相关文章
- 用户邮箱的静态密码可能已被钓鱼和同一密码泄露。在没有收到安全警报的情况下,用户在适当的时间内不能更改密码。在此期间,攻击者可以随意输入帐户。启用辅助身份验证后,如果攻击者无法获取移动电话动态密码,他将无法进行身份验证。这样,除非用户的电子邮件密码和手机同时被盗,否则攻击者很难破解用户的邮箱。
- 前端性能优化 - React.memo 解决函数组件重复渲染
- Mozilla 将推出 MDN Plus 高级开发者服务
- D-SMART如何利用数据库的可观测性能力的
- 顶级域名可以增加企业品牌的价值。随着经济的快速发展,域名已不再是企业在网络中的独立地位。顶级域名的服务范围、企业产品、综合形象体现等,对于企业单位来说,顶级域名的重要性不言而喻。
- SQL中如何取前百分之N的记录?
- Mozilla 将推出 MDN Plus 高级开发者服务
- 一篇带给你ElasticSearch集群部署
- 什么样的邮箱才是安全的电子邮件地址?
- 一款Web3原生数据库:Tableland