我正在用C#编写Web服务,并且是一个彻头彻尾的新手。请原谅我,如果我问的话已经死了傻。我有一组Web服务使用的dll。我想要达到的目标如下:
目前,我在尝试执行第4步时遇到以下错误: “此操作无法完成,因为该文件已在vshost32-clr2.exe中打开”
我完全错过了什么?
答案 0 :(得分:0)
您必须关闭托管网站。复制新程序集。然后重新启动网站。
答案 1 :(得分:0)
一种简单的方法是在升级应用程序时将流量重新路由到不同的服务器。您可以运行两个服务器并验证新服务器是否正常,然后切换流量以转到新服务器。您可以使用DNS条目或某些软件/硬件路由器来重定向流量。
如果你真的想要动态更换组件,你可以这样做。您可能需要足够的代理对象层,并可能在自定义应用程序域中加载最终程序集。您可以简单地将DLL复制到IIS上的Web站点的根文件夹,并希望app-domain recycle能够正常工作并满足您的“永远在线”要求。
注意:“手动删除”和“系统一直在运行/一直在运行”不应该出现在同一系统中...除非你知道一个人可以多次完美地执行相同无聊的几十步在一天中的任何时间...