kestrel vs async await c#



它是在各种技术博客/网站上给出的,新Web服务器kestrel引入 asp.net 核心比IIS具有性能优势,因为它在下面使用基于单线程事件循环模型的libuv库。

如果我在 C# 中使用异步等待 I/O 任务并使用 IIS 而不是 Kestrel,我无法理解这有什么不同。由于异步等待也是一个非阻塞调用,所以我无法理解吞吐量/性能优势。

请有人用简单的话详细说明这一点。

我知道红隼是跨平台的,但我的查询是关于我应该使用 kestrel 获得的性能/吞吐量优势,所以让我改写我的问题,如果我只针对 Windows,我会使用 kestrel 与 IIS 获得任何性能优势。 我浏览过的大多数链接都表明 Kestrel 使用 libuv,因此它提供了一些性能优势,但没有详细说明它是什么做不同的事情,使其更快。如果我不使用任何IIS模块,那么性能是否具有可比性

是否使用

async/await keywoeds 与是使用 IIS 还是 Kestrel 无关。

IIS只能在Microsoft Windows操作系统上运行 - 通常是Windows Server,但例如Windows 10也可以运行IIS。

Kestrel是一个跨平台的Web服务器,根据服务器操作系统的不同,它可能托管在IIS/Apache等后面。

有关IIS和Kestrel的更深入解释以及跨平台机会,请参阅 ASP.Net 核心Web服务器,有关async/await的更详细说明,请尝试使用async/await。

最新更新