1

http.sys是 Windows 中的内核模式驱动程序,它极大地加快了传入 HTTP 请求的处理和路由。它是在 Windows NT 4 时代添加的,与 Apache 相比,它为当时尚不成熟的 IIS 提供了基准提升。

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

今天,只要您使用 IIS 来托管您的应用程序,您就可以利用http.sys.

但是,我找不到任何说明自托管 ASP.NET Core 应用程序是否会使用(http.sys如果存在)的信息。

4

1 回答 1

2

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

与 Kestrel 不同,WebListener 被认为是生产就绪的,这意味着您可以使用它来托管面向 Internet 的应用程序。另一边的 Kestrel 还没有,所以写这篇文章时的官方建议是始终在反向代理(IIS、nginx 等)后面使用 Kestrel。

于 2016-11-22T00:51:12.360 回答