我已经在Web响应中检查了将ASP.NET5部署到Azure Web应用程序时服务器是IIS,所以我猜想IIS平台处理程序用于将其重定向到Kestrel。因此,我想知道是否可以直接在Kestrel上运行,以及它将带来哪些好处/缺点(可能无论它是否在Azure中都可以)。我想这会更快一点,因为IIS将从管道中排除,但是我想它应该不会有太多开销。

最佳答案

在Azure Web App上,您不能绕过IIS。
但是在一般情况下,您肯定可以直接运行Kestrel。毕竟,它只是dnx web,而这正是XPlat版本(Linux,OSX)最终将使用(几乎)使用的版本。
您因不使用IIS而遭受的损失

  • 安全性(与IIS相比,较新的组件)
  • 轻松设置SSL
  • 处理文件/缓存和其他内容的内核模块(内核=更快)
  • 应用程序监视/保持事件(如果Kestrel崩溃,会发生什么情况)
  • 多个主机名单端口(80)重用
  • 等。

  • 不使用IIS的好处
  • 完全控制您的过程
  • 总体性能更高
  • 更简单的安装/执行

  • 如果选择不使用IIS应该怎么做
    如果您对“失败”的观点还可以,我仍然会把您的Kestrel托管在反向代理或NGINX服务器的后面。 Kestrel可以“生产就绪”,但不是NGINX或IIS。
    据我所知,它不会使自己存活。
    如果我错过了任何事情,请告诉我。

    关于asp.net-core - 是否可以直接在Azure WebApps的Kestrel上运行ASP.NET 5网站?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34312569/

    10-16 18:19