如何在 ASP.Net Core 中使用 HTTP.sys WebServer ?

98 篇文章 3 订阅
52 篇文章 1 订阅

如何在 ASP.Net Core 中使用 HTTP.sys WebServer ?

ASP.Net Core 是一个开源的,跨平台的,轻量级模块化框架,可用它来构建高性能的Web程序,大家都知道 Kestrel 是 ASP.Net Core 内置的跨平台web服务器,但是它有一定的局限性,比如不支持 端口共享 , WebSockets 等等,那怎么办呢?

作者:码农读书 来源:码农读书

本文转载自微信公众号「码农读书」,作者码农读书。转载本文请联系码农读书公众号。

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 中,如下代码所示:

 
  1. public class Program 
  2.     { 
  3.         public static void Main(string[] args) 
  4.         { 
  5.             CreateHostBuilder(args).Build().Run(); 
  6.         } 
  7.  
  8.         public static IHostBuilder CreateHostBuilder(string[] args) => 
  9.             Host.CreateDefaultBuilder(args) 
  10.                 .ConfigureWebHostDefaults(webBuilder => 
  11.                 { 
  12.                     webBuilder.UseHttpSys(options => 
  13.                     { 
  14.                         options.Authentication.Schemes = Microsoft.AspNetCore.Server.HttpSys.AuthenticationSchemes.None; 
  15.                         options.Authentication.AllowAnonymous = true; 
  16.                         options.MaxConnections = 100; 
  17.                         options.MaxRequestBodySize = 1000000; 
  18.                         options.UrlPrefixes.Add("http://localhost:5000"); 
  19.                     }); 
  20.  
  21.                     webBuilder.UseStartup<Startup>(); 
  22.                 }); 
  23.     } 

值得注意的是,在跑程序之前,一定要在 launchSettings 中选择合适的节点,因为 Visual Studio 默认会用 IIS Express 执行,所以这里选择 WebApplication3 就可以了。

接下来就可以把程序跑起来,如下图所示:

从图中的 warn: Microsoft.AspNetCore.Server.HttpSys.MessagePump[37] 可以看出,当前已成功用 HTTP.sys 作为web服务器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASP.NET MVC使用Vue.js,您需要按照以下步骤进行配置: 1. 在您的ASP.NET MVC项目安装Vue.js。您可以使用npm或CDN来安装Vue.js。 2. 创建一个Vue.js组件,并将其添加到您的ASP.NET MVC视图。 3. 在您的ASP.NET MVC视图添加Vue.js依赖项,并将其链接到您的Vue.js组件。 4. 使用Vue.js指令和模板语法编写HTML标记。 以下是一个简单的例子,演示如何在ASP.NET MVC使用Vue.js: 1. 安装Vue.js 您可以通过npm安装Vue.js,打开命令提示符,进入您的ASP.NET MVC项目文件夹,并运行以下命令: ``` npm install vue ``` 或者您可以使用CDN,将以下代码添加到您的ASP.NET MVC视图: ``` <script src="https://cdn.jsdelivr.net/npm/vue"></script> ``` 2. 创建Vue.js组件 创建一个Vue.js组件,并将其保存到您的ASP.NET MVC项目。例如,创建一个名为"MyComponent.vue"的组件。 ``` <template> <div> <h1>{{ message }}</h1> </div> </template> <script> export default { data() { return { message: 'Hello Vue!' } } } </script> ``` 3. 添加Vue.js依赖项 在您的ASP.NET MVC视图添加Vue.js依赖项,并将其链接到您的Vue.js组件。 ``` <head> <script src="https://cdn.jsdelivr.net/npm/vue"></script> <script src="~/Scripts/MyComponent.vue"></script> </head> ``` 4. 使用Vue.js指令和模板语法编写HTML标记 在您的ASP.NET MVC视图使用Vue.js指令和模板语法编写HTML标记。 ``` <div id="app"> <my-component></my-component> </div> <script> new Vue({ el: '#app', components: { 'my-component': MyComponent } }) </script> ``` 这样,您就可以在ASP.NET MVC使用Vue.js了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值