【问题标题】:Automatically update local client website that running on IIS manager自动更新在 IIS 管理器上运行的本地客户端网站
【发布时间】:2021-11-22 01:27:12
【问题描述】:

我有一个在 IIS 管理器上本地运行的网站。每次更新网站时,我都会通过 Anydesk 与客户沟通并更新其文件。每当客户端从服务器获得任何更新时,它都应该自动更新。

我得到了在 GitHub 上推送 dll 文件的解决方案。当客户单击更新按钮时,GitHub 文件会自动下载到网站托管文件夹中。问题就在这里,当我替换更新的文件时,它会给出一个错误“进程无法访问文件,因为它已经使用过”。

如果此解决方案正确,请指导我如何在 IIS 管理器上运行应用程序时覆盖文件而不停止应用程序

否则给我建议在不关闭应用程序的情况下将文件从在线窗口服务器更新到本地 IIS 管理器。

【问题讨论】:

  • 最好的方法是将 Windows 服务作为本地系统运行。让它定期检查更新。一旦检测到,它将停止站点、替换文件、启动站点。
  • 我想在不停止应用的情况下自动更新文件。
  • 客户端不替换本地文件或文件夹,我也不想亲自访问他的系统。
  • 老兄,它是 IIS。您无法替换 IIS 正在使用的文件,您必须停止该站点 :)
  • 添加 webconfig fcnMode="Single" 可能会有所帮助。 stackoverflow.com/questions/56340790/…

标签: c# asp.net-core iis asp.net-core-webapi


【解决方案1】:

目前,在 ASP.NET Core 应用程序中,无法在应用程序仍在运行时替换二进制文件,但在 .NET 6 中,Shadow-copying in IIS 可以。

【讨论】:

  • 实现此概念的任何其他解决方案
【解决方案2】:

您应该为您的应用考虑蓝绿部署 https://docs.cloudfoundry.org/devguide/deploy-apps/blue-green.html 我可以为您推荐的选项:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-11
    • 1970-01-01
    • 2017-01-13
    • 1970-01-01
    • 2019-01-29
    相关资源
    最近更新 更多