自托管ASP.NET Core时 - 它是否使用http.sys(如果可用)?

时间:2016-11-21 23:53:01

标签: asp.net-core http.sys

http.sys是Windows中的内核模式驱动程序,可以极大地加速传入HTTP请求的处理和路由。它是在Windows NT 4时代添加的,与Apache相比,为当时的鼻子IIS提供了基准测试。

对于那些不熟悉的人:它是一个劫持传入HTTP请求的组件(在端口80和443上,您可以将其配置为监视其他端口)并根据其配置将它们路由到不同的用户态应用程序,请参阅MSDN for更多详情:https://msdn.microsoft.com/en-us/library/windows/desktop/aa364510(v=vs.85).aspx

今天,如果您使用IIS来托管您的应用程序,那么您将利用http.sys

但是,我无法找到任何信息,说明自托管ASP.NET Core应用程序是否将使用{{1}}(如果存在)。

1 个答案:

答案 0 :(得分:2)

虽然Kestrel不使用或支持http.sys(它也必须在没有http.sys的Linux上运行),但您可以使用WebListenerhere ,它使用http.sys和用法示例here)来实现这一目标。但是,仅在Windows上出于显而易见的原因。

与Kestrel不同,WebListener被认为是生产就绪,这意味着您可以使用它来托管面向互联网的应用程序。其他方面的红隼还没有,所以在wrtiting时的官方建议是始终在反向代理(IIS,nginx等)后面使用Kestrel。