应用程序池在iisreset之后无法启动

时间:2008-10-29 12:25:42

标签: asp.net wcf iis windows-server-2003

在开始之前,我知道使用iisreset被认为是不好的做法,但这不应该发生..

我们拥有什么:

  • Windows Server 2003 R2上有多台带有IIS6的计算机(64位和32位)

  • 在多个应用程序中部署了几个WCF Web服务(.NET运行时2.0),每个应用程序都有自己的应用程序池,每个应用程序池在其他Windows帐户下运行。

会发生什么:

  • 所有appPools均已启动,所有服务均可正常运行
  • 执行IISReset(或重启机器)
  • IIS恢复,但并非所有应用程序池都正常启动。有时它们都会恢复,有时一个或多个池将无法启动。但是,它们可以手动启动。

这是“正常”的iis行为吗?我应该避免使用iisreset,还是我们在.NET代码中做错了什么?

6 个答案:

答案 0 :(得分:10)

应用程序池应该在iisreset上重新启动,但它们确实在iis外部运行(在COM +中)以确保可靠性。这意味着如果应用程序行为不端,他们可能不会回来,但IIS和其他应用程序将(应该)回来。所以是的,这是“正常的”。

P.S。 我也希望自己“出去”自己作为iisreset的自豪用户。不好的做法? Bah!; D

答案 1 :(得分:5)

在第一个请求进入之前,IIS不会立即启动ASP.NET辅助进程(w3wp.exe)。当您说“未启动”时,它是否意味着您尝试访问某些WCF Web服务(在iisreset之后),并且您收到服务不可用错误,因为无法启动appPool?您是否在事件日志中看到任何与IIS W3SVC相关的条目?

如果有的话,他们可能会告诉你为什么他们无法开始;将它们发布在这里。

答案 2 :(得分:3)

原因:

在第一个请求进入之前,IIS不会立即启动ASP.NET辅助进程(w3wp.exe)。当它显示“未启动”时,表示您尝试访问某些WCF Web服务(iisreset之后)因对象而失败在内存中占有一些空间,并且因为无法启动appPool而导致服务不可用错误。

解决方法:

使用以下命令创建批处理文件&安排它。

  

net stop 23svc

     

net stop msftpsvc

     

net stop smtpsvc

     

net stop PleskControlPanel

     

net stop HTTPFilter

     

iisreset / restart

     

net start w3svc

     

net start msftpsvc

     

net start smtpsvc

     

net start PleskControlPanel

     

net Start HTTPFilter

答案 3 :(得分:3)

有类似问题 - 重新启动IIS后,DefaultAppPool已停止。

在应用程序事件日志中发现错误:

  

Windows无法让您登录,因为无法加载您的个人资料。检查您是否已连接到网络,或者您的网络是否正常运行。如果此问题仍然存在,请与网络管理员联系   详细信息 - 拒绝访问。

通过在DefaultAppPool中设置高级设置选项加载用户个人资料错误

希望它有用。

答案 4 :(得分:0)

在先前的支持角色中,我管理了几个运行各种.NET混乱的IIS服务器。当AppPool无法启动时,通常是一个糟糕的登录凭据。

答案 5 :(得分:-1)

通过应用程序池的高级设置重新设置身份(身份验证凭据)对我有用。

之前我更改了我的活动目录密码,因为应用程序池已经在运行,所以在我执行 IISRESET 之前它运行良好。