Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 是否可以在Azure WebApps中直接在Kestrel上运行ASP.NET 5站点?_Asp.net Core_Azure Web App Service_Dnx_Kestrel Http Server - Fatal编程技术网

Asp.net core 是否可以在Azure WebApps中直接在Kestrel上运行ASP.NET 5站点?

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

当我将ASP.NET5部署到azure web app时,我检查了web响应中的服务器是否为IIS,因此我猜IIS平台处理程序用于将其重定向到Kestrel。所以我想知道是否可以直接在Kestrel上运行,以及它有哪些优点/缺点(可能不管它是否在Azure中)。我想它会快一点,因为IIS将被排除在管道之外,但我想不会有太多开销…

在Azure Web App上,您不能绕过IIS

但在一般情况下,你绝对可以直接运行红隼。毕竟,这只是DNXWeb的
DNXweb
,而这正是XPlat版本(Linux、OSX)最终将使用的(几乎)

不使用IIS会造成什么损失
  • 安全性(与IIS相比更新的组件)
  • SSL的简易设置
  • 处理文件/缓存和其他事情的内核模块(内核=更快)
  • 应用程序监视/保持活动状态(如果Kestrel崩溃会发生什么情况)
  • 多主机名单端口(80)重用
  • 等等
不使用IIS的好处是什么
  • 完全控制您的流程
  • 更高的整体性能
  • 更简单的安装/执行
如果选择不使用IIS,您应该怎么做 如果您对“丢失”分数满意,我仍然会在反向代理或NGINX服务器后面托管您的红隼。红隼是“生产准备就绪”,但它不是NGINX或IIS

据我所知,它是活不下去的


如果我遗漏了什么,请告诉我。

您的问题有点含糊不清,因为它同时询问了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->红隼似乎效率低下。