自动更新在 IIS 管理器上运行的本地客户端网站
Posted
技术标签:
【中文标题】自动更新在 IIS 管理器上运行的本地客户端网站【英文标题】:Automatically update local client website that running on IIS manager 【发布时间】:2021-11-22 01:27:12 【问题描述】:我有一个在 IIS 管理器上本地运行的网站。每次更新网站时,我都会通过 Anydesk 与客户沟通并更新其文件。每当客户端从服务器获得任何更新时,它都应该自动更新。
我得到了在 GitHub 上推送 dll 文件的解决方案。当客户单击更新按钮时,GitHub 文件会自动下载到网站托管文件夹中。问题就在这里,当我替换更新的文件时,它会给出一个错误“进程无法访问文件,因为它已经使用过”。
如果此解决方案正确,请指导我如何在 IIS 管理器上运行应用程序时覆盖文件而不停止应用程序
否则给我建议在不关闭应用程序的情况下将文件从在线窗口服务器更新到本地 IIS 管理器。
【问题讨论】:
最好的方法是将 Windows 服务作为本地系统运行。让它定期检查更新。一旦检测到,它将停止站点、替换文件、启动站点。 我想在不停止应用的情况下自动更新文件。 客户端不替换本地文件或文件夹,我也不想亲自访问他的系统。 老兄,它是 IIS。您无法替换 IIS 正在使用的文件,您必须停止该站点 :) 添加 webconfig fcnMode="Single" 可能会有所帮助。 ***.com/questions/56340790/… 【参考方案1】:目前,在 ASP.NET Core 应用程序中,无法在应用程序仍在运行时替换二进制文件,但在 .NET 6 中,Shadow-copying in IIS 可以。
【讨论】:
实现此概念的任何其他解决方案【参考方案2】:您应该为您的应用考虑蓝绿部署 https://docs.cloudfoundry.org/devguide/deploy-apps/blue-green.html 我可以为您推荐的选项:
将应用程序移至云提供商并使用其功能。例如,Azure 的负载均衡器/流量管理器/插槽部署可以解决您的问题 您可以使用 IIS 负载均衡器:https://docs.microsoft.com/en-us/iis/web-hosting/scenario-build-a-web-farm-with-iis-servers/configuring-step-3-configure-iis-web-farm-load-balancing#:~:text=To%20configure%20load%20balancing%20with,Open%20IIS%20Manager.&text=Under%20the%20server%20node%2C%20expand,list%2C%20and%20then%20click%20Apply。【讨论】:
以上是关于自动更新在 IIS 管理器上运行的本地客户端网站的主要内容,如果未能解决你的问题,请参考以下文章
PHPWAMP内置IIS管理器一键搭建PHP网站,支持无限个不同PHP版本同时运行
如何在 Windows 10 的 IIS 管理器上启用 CORS?
windows 7 sp1 版本下的IIS应用程序池总是自动停止?