ASP.net Core中主机和服务器之间的差异和关系

时间:2018-05-18 14:27:46

标签: c# .net asp.net-core .net-core

在ASP.net核心项目的Program.cs中,我们可以使用IWebHostBuilder来创建(或构建)IWebHost,我认为这是一个主机。

创建IWebHost时,我们可以相应地使用扩展方法KestrelHttpSys来指定UseKestrelUseHttpSys的网络服务器。 / p>

所以我的问题是ASP.net Core中主机和Web服务器之间的差异和关系。

有人可以解释一下吗?谢谢你提前。

1 个答案:

答案 0 :(得分:2)

我建议您查看包含以下定义的ASP.NET核心fundamentals page。我觉得服务器定义中的斜体部分恰当地描述了主机和服务器之间的关系。

  

<强>托管

     

ASP.NET核心应用程序配置并启动主机,即   负责应用启动和终身管理。

     

有关详细信息,请参阅Host in ASP.NET Core

     

服务器

     

ASP.NET核心托管模型并没有直接监听   要求。托管模型依赖于HTTP服务器实现   将请求转发给应用程序。转发的请求包装为a   可以通过接口访问的一组要素对象。   ASP.NET Core包含一个托管的跨平台Web服务器,名为   红隼。 Kestrel经常在生产Web服务器后面运行,例如   IIS或Nginx。红隼可以作为边缘服务器运行。

     

有关详细信息,请参阅Servers和以下主题:

     

Kestrel

     

ASP.NET Core Module

     

HTTP.sys(以前称为WebListener