在带有.NET Framework的ASP.NET下,您可以执行新代码的“热部署”而不会中断。之所以可行,是因为IIS可以为同一个应用程序处理多个应用程序域:当新代码到达时,它“耗尽”了旧的应用程序域,使其可以完成请求,同时新的应用程序域启动并开始服务新请求。
我的问题是:使用Kestrel的ASP.NET Core中有与此类似的东西吗?如果是这样,什么?
答案 0 :(得分:4)
Kestrel没有像IIS那样内置。考虑一下:Kestrel直接绑定到端口80。您必须启动一个新的Kestrel进程来更新代码。这些进程不能共享端口80,并且如果没有反向代理,则无法将端口从一个进程传递给另一个进程。
您可以在Web服务器之前使用负载平衡器。然后进行滚动更新或蓝绿色部署。