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

时间:2016-10-27 06:46:08

标签: c# ftp asp.net-core asp.net-core-mvc filezilla

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

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

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

与asp.net mvc相比,我们可以直接发布文件而不需要RPD或做一些手动操作,这也是不顺畅的经验。

任何解决上述问题的工作或解决方案都将受到赞赏。

2 个答案:

答案 0 :(得分:3)

得到了解决方案。

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

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

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

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

答案 1 :(得分:1)

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

  1. 从LB
  2. 中删除服务器1
  3. 停止服务器1上的应用
  4. 更新服务器1
  5. 将服务器1添加回LB
  6. 对服务器2重复1-4
  7. 这称为滚动升级。