如果我部署一个WCF服务,它会中断服务吗?我正在部署到IIS,我的部署是使用windows资源管理器手动复制dll、web.config、svc等。
所以我复制了这些文件,之后会发生什么?应用程序池是否会回收?有什么东西需要重新编译(也就是放慢速度)吗?
服务在没有会话状态的情况下运行,所以如果应用程序池回收,只要请求没有中断,我就不在乎。
发布于 2011-04-06 13:35:29
如果服务已经在使用中并且旧的dll已经被加载,那么在使用新的dll之前,你需要回收应用程序池--在此之前,旧的dll会留在内存中。
虽然应用程序池回收不会导致重新编译,但在将必要的dll加载到内存中时,服务的第一个调用者将遇到轻微的延迟。
您可以通过在回收后立即呼叫您的服务来轻松防止这种第一次调用延迟。这样一来,用户体验到延迟的唯一方式就是在您部署服务的同时进行服务呼叫(并且抢先到第一个呼叫)--但延迟将是最小的。
发布于 2011-04-06 14:24:49
根据我在ASP.Net上的经验,会监视应用程序虚拟目录中的一些特定文件更改。我相信只要任何被监视的文件\目录发生变化,应用程序就会重新启动。根据ASP.Net经验,更改web.config和bin目录下的文件会导致应用程序重新加载\重新启动。我认为WCF也应该是这样的。您需要进行POC来验证这一点。
https://stackoverflow.com/questions/5561323
复制相似问题