红隼vs异步等待c#

红隼vs异步等待c#,c#,task-parallel-library,libuv,kestrel,C#,Task Parallel Library,Libuv,Kestrel,在各种技术博客/网站上都有这样的消息:与IIS相比,新的web服务器kestrel在asp.net core中引入了一个性能优势,因为它使用了基于单线程事件循环模型的libuv库 如果我在C#中使用async Wait for I/O任务,而使用IIS而不是Kestrel,我无法理解这有什么不同。由于async await也是一个非阻塞调用,因此我无法理解吞吐量/性能优势 请有人用简单的话详细说明一下 我知道kestrel是跨平台的,但我的问题是关于我应该使用kestrel获得的性能/吞吐量优势

在各种技术博客/网站上都有这样的消息:与IIS相比,新的web服务器kestrel在asp.net core中引入了一个性能优势,因为它使用了基于单线程事件循环模型的libuv库

如果我在C#中使用async Wait for I/O任务,而使用IIS而不是Kestrel,我无法理解这有什么不同。由于async await也是一个非阻塞调用,因此我无法理解吞吐量/性能优势

请有人用简单的话详细说明一下


我知道kestrel是跨平台的,但我的问题是关于我应该使用kestrel获得的性能/吞吐量优势,因此,让我重新表述我的问题。如果我只针对Windows,我是否会使用kestrel vs IIS获得任何性能优势。我浏览过的大多数链接都表明Kestrel使用了libuv,因此它提供了一些性能优势,但没有详细说明它的不同之处,这使得它的速度更快。如果我不使用任何IIS模块,那么性能是否具有可比性

是否使用async/Wait Keywoods与是否使用IIS或Kestrel无关

IIS只能在Microsoft Windows操作系统上运行—通常是Windows服务器,但Windows 10也可以运行IIS

Kestrel是一个跨平台的web服务器,根据服务器操作系统的不同,它可能位于IIS/Apache/等的后面


有关IIS和Kestrel以及跨平台机会的更深入解释,请参阅,有关async/Wait的更详细解释,请尝试。

hi Jay,感谢您抽出时间回答我的问题。我知道kestrel是跨平台的,但我的问题是关于我应该使用kestrel获得的性能/吞吐量优势,因此,让我重新表述我的问题。如果我只针对Windows,我是否会使用kestrel vs IIS获得任何性能优势。我浏览过的大多数链接都表明Kestrel使用了libuv,因此它提供了一些性能优势,但没有详细说明它的不同之处,这使得它的速度更快。如果我不使用任何IIS模块,那么性能会更好吗comparable@saurabhvats-使用编辑链接将此添加到您的问题中。Hi@saurabhvats-第一个链接是指同时使用IIS和Kestrel的建议。IIS非常擅长它的工作,“Microsoft建议在公共网站上总是在Kestrel前面使用另一个web服务器。”SSL证书、日志记录、请求筛选等都是IIS的“收件箱”——如果您只拥有自己的主机(并非所有ISP都允许该选项),您也必须处理此任务。虽然可以做到,但IIS已经做到了。基本上,这不是一个非此即彼的场景-两者都去,节省自己的工作量!听起来像是@WiktorZychla的翻版哇,那篇文章太棒了