如何在不停止应用程序的情况下发布 asp.net 个核心应用程序 Dll

How to publish asp.net core app Dlls without having to stop the application

当我尝试通过 filezilla 工具使用 ftp 发布 .net 核心应用程序 Dll 时,它显示一条错误消息,指出该文件正在被另一个进程使用。

显示上述消息是可以理解的,因为文件由 dotnet.exe 使用,这是一个单独的进程。

为了解决这个问题,我每次都必须在 iis 中停止应用程序,然后上传 dll,然后重新启动它。由于经历了非常短的停机时间,asp.net 身份会话过期并且每次需要上传时都需要 rdp 到服务器。

与 asp.net mvc 相比,它也不是流畅的体验,我们可以直接发布文件而无需 RPD 或执行一些手动操作。

任何解决上述问题的变通方法或解决方案都将不胜感激。

好吧,如果负载均衡器后面有两台服务器,您可以(简化):

  1. 从 LB 中删除服务器 1
  2. 停止服务器 1 上的应用程序
  3. 更新服务器 1
  4. 将服务器 1 添加回 LB
  5. 为服务器 2 重复 1-4

这称为滚动升级。

得到解决方案。

可以通过 app_offline.html 文件完成。

您必须将 app_offline.html 文件移动到应用程序根文件夹,以便 stop/make 使应用程序脱机。

然后您可以推送更改并从应用程序根文件夹中删除 app_offline.html 文件。

注意: 您可以在 app_offline.html 文件中放置一些信息性消息,这些消息将向用户显示维护正在进行中。