我有一个wcf应用程序,它是自托管的并部署为Windows服务。该应用程序有大约30个项目,我已经对其中一个项目进行了代码更改,并希望将更改的DLL部署到测试环境中。 我是否必须重新启动服务才能使更改生效或只更换最新的dll,服务会在重启后自动获取更改?
由于
答案 0 :(得分:0)
根据我的经验,您需要重启服务。
答案 1 :(得分:0)
您必须重新启动服务才能应用更改。我会使这个应用程序在服务和控制台模式下运行(取决于命令行参数)。它简化了很多调试。
答案 2 :(得分:0)
如果要更新的程序集已由服务加载和使用,则可能需要先停止该服务,然后才能对其进行更新。
如果您希望能够支持“暖启动”,则可以使用CLR的“卷影复制”功能来执行此操作。更多信息: http://msdn.microsoft.com/en-us/library/ms404279.aspx
即使您使用影子副本,您仍然需要重新启动该服务,但您可以优雅地执行此操作,就像ASP.NET / IIS运行时可以启动新的AppDomain来处理传入请求的方式一样旧的AppDomain完成处理旧请求。