在w3wp.exe中使用非托管代码会导致它在IIS 7中挂起

时间:2011-04-29 10:44:13

标签: wcf iis-7 was

我们有一个调用一些非托管代码的WCF服务。非托管代码使用COM并创建COM对象来执行一些遗留工作。我们注意到当应用程序池重新发生循环时(由于web.config更改)。该服务并不总是能够在新的应用程序域中再次重新托管,并且w3wp.exe似乎挂起。我没有收到错误或日志,除了我不能再与服务通信。杀死这个过程并开始一个新的工作。有没有办法告诉IIS不要使用应用程序域重新循环(由于w3wp.exe中的遗留/非托管代码)。我注意到,当对私有字节限制使用重新循环时,存在进程重新循环而不是应用程序域回收。我还能做些什么来找出w3wp.exe进程的状态以及它挂起的原因。

我也注意到不同的回收选项创造了不同的回收方式。在IIS中使用UI时,回收会删除进程并添加新进程。设置内存限制时,会发生同样的情况。但是在更改Web配置时,会发生应用程序域回收。是否存在基于不同触发器发生何种类型的重新循环的信息,是否有配置它的方法?

0 个答案:

没有答案