我已经检查过,当我将ASP.NET5部署到azure web应用程序时,在Web响应中服务器是IIS,所以我想IIS平台处理程序用于将其重定向到Kestrel.所以我想知道是否可以直接在Kestrel上运行,以及有什么好处/缺点(可能无论是否在Azure中).我想它会更快一些,因为IIS将从pipline中排除,但我认为它不应该是太多的开销......
在Azure Web App上,您无法绕过IIS.
但在一般情况下,你绝对可以直接运行Kestrel.它毕竟是正确的dnx web
,它正是XPlat版本(Linux,OSX)将最终使用(几乎).
安全性(与IIS相比较新的组件)
轻松设置SSL
处理文件/缓存和其他东西的内核模块(内核=更快)
应用程序监控/ Keep-Alive(如果Kestrel崩溃会发生什么)
多个主机名单端口(80)重用
等等
完全控制您的过程
整体性能更高
更简单的安装/执行
如果您对"丢失"点感到满意,我仍然会将您的Kestrel托管在反向代理或NGINX服务器后面.红隼被制作成"生产就绪",但它不是NGINX或IIS.
据我所知,它不会保持活力.
如果我遗漏了什么,请告诉我.
您的问题有点含糊不清,因为它同时询问Azure Web Apps和一般情况.@Maxime回答了一般部分,所以我将回答Azure Web App部分.
这是不是可以绕过IIS在Azure的Web应用程序.通常在没有IIS的情况下运行的堆栈通常使用HttpPlatformHandler
(如ASP.NET 5的情况),或者在Node的情况下使用某些变体(iisnode).