【问题标题】:Update Windows Service Assembly Without Restart It?更新 Windows 服务程序集而不重新启动它?
【发布时间】:2016-12-21 02:49:58
【问题描述】:

如何在不重新启动服务的情况下更新某些 Windows 服务分离程序集?

注意:此 Windows 服务托管 WCF 服务,因此除了不重新启动服务之外,不要关闭 WCF 客户端 ..

【问题讨论】:

    标签: c# .net windows-services


    【解决方案1】:

    AFAIK,您必须在其自己的 AppDomain 中运行可重新启动的东西,并设置域以将 ShadowCopyFiles 设置为 true。您也可以选择自己的 CachePath,将相关 dll 复制到其中。

    从此以后,您可以使用 FileSystemWatcher 检查您的 dll 的原始位置是否有任何更改。

    一旦有,卸载 AppDomain,清除缓存,然后像以前一样设置 AppDomain。

    为了简单地启动具有明确定义的开始、停止点的新 AppDomain,代码中将在新 AppDomain 中执行,我谦虚地将您指向我的页面:A simple way to start your code in a different AppDomain

    【讨论】:

      猜你喜欢
      • 2011-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-30
      • 1970-01-01
      • 1970-01-01
      • 2018-04-07
      相关资源
      最近更新 更多