【发布时间】:2016-12-21 02:49:58
【问题描述】:
如何在不重新启动服务的情况下更新某些 Windows 服务分离程序集?
注意:此 Windows 服务托管 WCF 服务,因此除了不重新启动服务之外,不要关闭 WCF 客户端 ..
【问题讨论】:
标签: c# .net windows-services
如何在不重新启动服务的情况下更新某些 Windows 服务分离程序集?
注意:此 Windows 服务托管 WCF 服务,因此除了不重新启动服务之外,不要关闭 WCF 客户端 ..
【问题讨论】:
标签: c# .net windows-services
AFAIK,您必须在其自己的 AppDomain 中运行可重新启动的东西,并设置域以将 ShadowCopyFiles 设置为 true。您也可以选择自己的 CachePath,将相关 dll 复制到其中。
从此以后,您可以使用 FileSystemWatcher 检查您的 dll 的原始位置是否有任何更改。
一旦有,卸载 AppDomain,清除缓存,然后像以前一样设置 AppDomain。
为了简单地启动具有明确定义的开始、停止点的新 AppDomain,代码中将在新 AppDomain 中执行,我谦虚地将您指向我的页面:A simple way to start your code in a different AppDomain
【讨论】: