Asp.net core 是否可以在Azure WebApps中直接在Kestrel上运行ASP.NET 5站点?
当我将ASP.NET5部署到azure web app时,我检查了web响应中的服务器是否为IIS,因此我猜IIS平台处理程序用于将其重定向到Kestrel。所以我想知道是否可以直接在Kestrel上运行,以及它有哪些优点/缺点(可能不管它是否在Azure中)。我想它会快一点,因为IIS将被排除在管道之外,但我想不会有太多开销…在Azure Web App上,您不能绕过IIS 但在一般情况下,你绝对可以直接运行红隼。毕竟,这只是DNXWeb的Asp.net core 是否可以在Azure WebApps中直接在Kestrel上运行ASP.NET 5站点?,asp.net-core,azure-web-app-service,dnx,kestrel-http-server,Asp.net Core,Azure Web App Service,Dnx,Kestrel Http Server,当我将ASP.NET5部署到azure web app时,我检查了web响应中的服务器是否为IIS,因此我猜IIS平台处理程序用于将其重定向到Kestrel。所以我想知道是否可以直接在Kestrel上运行,以及它有哪些优点/缺点(可能不管它是否在Azure中)。我想它会快一点,因为IIS将被排除在管道之外,但我想不会有太多开销…在Azure Web App上,您不能绕过IIS 但在一般情况下,你绝对可以直接运行红隼。毕竟,这只是DNXWeb的DNXweb,而这正是XPlat版本(Linux、OS
DNXweb
,而这正是XPlat版本(Linux、OSX)最终将使用的(几乎)
不使用IIS会造成什么损失
- 安全性(与IIS相比更新的组件)
- SSL的简易设置
- 处理文件/缓存和其他事情的内核模块(内核=更快)
- 应用程序监视/保持活动状态(如果Kestrel崩溃会发生什么情况)
- 多主机名单端口(80)重用
- 等等
- 完全控制您的流程
- 更高的整体性能
- 更简单的安装/执行
如果我遗漏了什么,请告诉我。您的问题有点含糊不清,因为它同时询问了Azure Web应用程序和一般情况@Maxime回答了一般部分,所以我将回答Azure Web App部分
在Azure Web应用程序中无法绕过IIS。通常在没有IIS的情况下运行的堆栈通常使用
HttpPlatformHandler
(与ASP.NET 5的情况相同),或者在节点的情况下使用该堆栈的某些变体(iisnode)。我认为需要在web角色中启动dnx.exe。我使用Azure Web应用程序,我想它是其他东西,而不是Web角色。你指的是ssl,例如安全性?还是红隼有什么不安全的地方?我也不知道如何在WebApp中启动它,也不知道你所说的更简单的安装是什么意思,因为你没有在WebApp中安装任何东西不是不安全的,但与IIS相比它相对较新,所以我还是有点不好意思以这种方式托管;-)至于SSL,与IIS相比,使用Kestrel也有点困难。我想在Web应用程序上的Kestrel上设置SSL也相当困难。因为默认安装程序将使用IIS。我想我不会尝试即兴使用web应用程序使用的默认IIS-to-Kestrel设置。谢谢你的帮助:)公平地说,IIS10也将使用红隼。它只会启动流程并将请求转发给它。:)无论如何,你都在使用红隼。:)@Davidebo想编辑我的答案并将其包含在其中吗?我在这里只是个MVPp您认为如何将dnx进程启动到azure web角色中?对不起,我的专长更多地集中在azure web应用程序方面,因此我无法给出关于web角色的具有很大权限的答案。:)如果运行Azure API网关,这难道不会考虑一些安全方面的考虑吗?API网关->IIS->红隼似乎效率低下。