是否可以顺利“热部署”一个 ASP.NET Core 应用程序?

Cha*_*ion 7 c# asp.net kestrel asp.net-core

在带有 .NET Framework 的 ASP.NET 下,您可以在不中断的情况下执行新代码的“热部署”。这是有效的,因为 IIS 可以为同一个应用程序处理多个应用程序域:当新代码到达时,它“耗尽”旧应用程序域,允许它完成请求,同时新应用程序域启动并开始服务新请求。

我的问题是:在带有 Kestrel 的 ASP.NET Core 中是否有任何相似之处?如果是这样,是什么?

Gre*_*reg 5

Kestrel 没有像 IIS 那样内置。想一想:Kestrel 直接绑定到端口 80。您必须启动一个新的 Kestrel 进程来更新您的代码。这些进程不能共享端口 80,而且如果没有在两个进程前面的反向代理,就无法将其从一个进程传递到另一个进程。

您可以在网络服务器前使用负载平衡器。然后进行滚动更新或蓝绿部署。