在我开始之前,我知道使用iisreset被认为是不好的做法,但这不应该发生..
我们有什么:
Windows Server 2003 R2上有几台带有IIS6的计算机(64位和32位)
几个WCF Web服务(.NET运行时2.0)部署在多个应用程序中,每个应用程序都有自己的应用程序池,每个应用程序池在其他Windows帐户下运行.
怎么了:
所有appPools都已启动,所有服务均可运行
执行IISReset(或重启机器)
IIS恢复,但并非所有应用程序池都正常启动.有时它们都会恢复,有时一个或多个池将无法启动.然而,它们可以手动启动.
这是"正常"的iis行为,我应该避免使用iisreset,还是我们在.NET代码中做错了什么?
应用程序池应该在iisreset上重新启动,但它们确实在iis外部运行(在COM +中)以确保可靠性.这意味着如果应用程序行为不端,他们可能不会回来,但IIS和其他应用程序将(应该)回来.所以是的,这是"正常的".
PS我也希望自己"出去"自己作为iisreset 的自豪用户.不好的做法? 呸! ; d
在第一个请求进入之前,IIS不会立即启动ASP.NET辅助进程(w3wp.exe).当您说"未启动"时,它是否意味着您尝试访问某些WCF Web服务(在iisreset之后),并且您获得了服务不可用错误,因为无法启动appPool?您是否在事件日志中看到任何与IIS W3SVC相关的条目?
如果有的话,他们可能会告诉你为什么他们无法开始; 把它们寄到这里.