Dot-Net

服務不可用 - ApplicationPool 無法啟動

  • July 2, 2015

我有一個 WCF Web 服務,它保存在 IIS 上的應用程序池下。

最近,當我嘗試呼叫此 Web 服務時,我得到了“服務不可用”。我嘗試做的第一件事是重新啟動應用程序池。我做到了,幾秒鐘後,它墜毀並停止了。

查看事件查看器,我發現了這些消息,目前無法幫助我找到問題所在。

為應用程序池“X”提供服務的程序報告失敗。程序 ID 為“11616”。數據欄位包含錯誤號。

有關詳細資訊,請參閱http://go.microsoft.com/fwlink/events.asp上的幫助和支持中心 。

在獲得了其中的幾個之後,我得到了這個:

由於為該應用程序池服務的程序中的一系列故障,應用程序池“X”被自動禁用。

有關詳細資訊,請參閱http://go.microsoft.com/fwlink/events.asp上的幫助和支持中心 。

我已經檢查了權限和應用程序池配置,但一切似乎都很好。

有人經歷過嗎?

提前致謝。

看一下執行應用程序池的身份。如果您將其配置為在域帳戶下執行(並且這是在 IIS 6.0 伺服器上),請確保域帳戶是本地安全組“IIS_WPG”的成員,因為需要 IIS_WPG 組的成員身份才能執行w3wp.exe 工作程序。

看起來有多個可能的根本原因,但就我而言,查看應用程序事件日誌時,我看到同時發生的看似無關的事件:

Faulting application name: svchost.exe_wuauserv, version: 6.3.9600.17415, time stamp: 0x54504177
Faulting module name: wuaueng.dll, version: 7.9.9600.17915, time stamp: 0x558b6c14
Exception code: 0xc0000005
Fault offset: 0x00000000002b694f
Faulting process id: 0x297c
Faulting application start time: 0x01d0b52047cfa008
Faulting application path: C:\windows\system32\svchost.exe
Faulting module path: c:\windows\system32\wuaueng.dll
Report Id: 87e1370b-2113-11e5-827d-a0d3c1241fdb
Faulting package full name: 
Faulting package-relative application ID: 

這對我有幫助。(這完全是黑魔法,我不明白它為什麼起作用。)取自這裡

開始/所有程序/右鍵點擊命令提示符/以管理員身份執行在命令提示符處鍵入以下命令:

sc config winmgmt type=  own
sc config wuaserv type= own

這將在他們自己的 svchost.exe 中隔離 WMI 和 Windows 更新,這樣如果再次崩潰,它們就不會影響其他正在執行的服務。經過進一步調查,WMI 也可能是受害者,因為問題是 OLE 可能兩次未初始化程式碼。

執行緒上的另一個人報告說只有第一個命令對他有用,儘管問題消失了:

我按照你的指示得到了以下結果。

Sc config winmgmt type= own
SUCCESS
Sc config wuaserv type= own
[SC] OpenService FAILED 1060:
The specified service does not exist as an installed service.

儘管其中一個命令失敗,但我不再收到主機錯誤消息

引用自:https://stackoverflow.com/questions/2837596