在 Kestrel、helios、WebListener 和单独的控制台进程中托管 Asp.Net vNext 应用程序有何不同?

Posted

技术标签:

【中文标题】在 Kestrel、helios、WebListener 和单独的控制台进程中托管 Asp.Net vNext 应用程序有何不同?【英文标题】:How hosting Asp.Net vNext application hosting on Kestrel, helios, WebListener and in separate Console process differs? 【发布时间】:2014-11-20 06:31:28 【问题描述】:

Asp.Net vNext 与主机无关,应用程序可以托管在符合 OWIN 标准的许多平台上。根据我从周围开发人员那里听到的讨论,典型的 vNext 应用程序可以托管在 Helios、Kestrel 上,使用 webListener 并在单独的控制台应用程序进程中。

我问这个问题的意图是,如果我必须向当前的 Asp.Net 开发人员解释所有这些之间的区别,我将如何解释?背后的技术细节是什么?

【问题讨论】:

【参考方案1】:

没什么好解释的。作为开发人员和支持您的 Web 应用程序的运营团队,您可以使用最适合您的方案的任何 Web 服务器。

当您想在 Mac 或 *Nix box 上运行时使用 Kestrel

使用 Helios 为您提供您在 ASP.NET 中一直拥有的强大 IIS 功能

如果您尝试交付物联网设备之类的东西,请使用 WebListener。

选择是一件好事,ASP.NET 现在充满了选择,因此您可以随时随地使用它。

【讨论】:

为什么还需要像 kestral 这样的东西? weblistener (httplistener) 不是已经是一个可扩展的网络服务器了吗? WebListener 不是可扩展的 Web 服务器,仅用于开发目的。 Kestrel 是一个简单的 Web 服务器,适合在非 Windows(和 Windows)机器上使用 Kestrel 似乎旨在提供类似于节点的体验,其中编程模型较少面向线程,而更多地面向单线程模型和非阻塞 IO。 @linkerro - 你比你知道的更正确......所有的 ASP.NET 5 都面向类似节点的编程模型。我们不希望您过多考虑线程,只需告诉框架何时允许使用 async 关键字进行异步。 IIS 和 webListener 功能类似 @JeffFritz 仍然很遗憾,主页顶部没有以大写字母打印。与我交谈过的大多数没有从 MS 生态系统中探出头来的人都没有接受新的方向。

以上是关于在 Kestrel、helios、WebListener 和单独的控制台进程中托管 Asp.Net vNext 应用程序有何不同?的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse 3.6 (Helios) 格式化程序弄乱了 XML 注释?

NGINX & Kestrel 502 响应(111:连接被拒绝)

Eclipse Europa,Helios,Galileo之间的区别

如何检测 Kestrel 中的连接关闭

在 .NET 6 启动中配置 Kestrel 服务器选项

在没有 ASP.NET 核心的情况下使用 Kestrel