服务不可用 - 应用程序池无法启动

发布于 2024-09-01 18:49:36 字数 750 浏览 1 评论 0原文

我有一个 WCF Web 服务,它保存在 IIS 上的应用程序池下。

最近,当我尝试调用此 Web 服务时,一直收到“服务不可用”消息。我尝试做的第一件事是重新启动应用程序池。我做到了,几秒钟后,它崩溃并停止了。

查看事件查看器,我发现了这些消息,但目前这些消息无法帮助我找到问题所在。

服务应用程序池的进程 'X' 报告失败。进程 ID 是 ‘11616’。数据字段包含 错误号。

有关详细信息,请参阅帮助和 支持中心位于 http://go.microsoft.com/fwlink/events.asp

得到这几个之后,我得到了这个:

应用程序池 'X' 由于以下原因被自动禁用 中的一系列失败 为该应用程序提供服务的进程 池。

有关详细信息,请参阅帮助和 支持中心位于 http://go.microsoft.com/fwlink/events.asp

我已经检查了权限和应用程序池配置,但一切似乎都正常。

有人经历过这个吗?

提前致谢。

I have a WCF Web Service which is kept under an Application Pool on IIS.

Lately I've been getting "Service Unavaiable" when I'm trying to make calls to this Web Service. The first thing I tried to do was restarting the Application Pool. I did it and after a couple of seconds, it crashed and stopped.

Looking at the Event Viewer, I found these messages, which by the moment couldn't help me to find where the problem is.

A process serving application pool
'X'
reported a failure. The process id was
'11616'. The data field contains the
error number.

For more information, see Help and
Support Center at
http://go.microsoft.com/fwlink/events.asp.

After getting a couple of these, I got this one:

Application pool
'X'
is being automatically disabled due to
a series of failures in the
process(es) serving that application
pool.

For more information, see Help and
Support Center at
http://go.microsoft.com/fwlink/events.asp.

I've already checked permissions and Application Pool configurations but everything seems to be OK.

Have anyone been through this?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

原野 2024-09-08 18:49:36

查看应用程序池正在运行的身份。如果将其配置为在域帐户下运行(这是在 IIS 6.0 服务器上),请确保域帐户是本地安全组“IIS_WPG”的成员,因为需要 IIS_WPG 组的成员身份才能运行w3wp.exe 工作进程。

Take a look at the identity that the Application Pool is running under. If you have it configured to run under a domain account, (and this is on an IIS 6.0 server) be sure that the domain account is a member of the local security group "IIS_WPG", for membership in the IIS_WPG group is needed to run the w3wp.exe worker process.

黯淡〆 2024-09-08 18:49:36

看起来有多种可能的根本原因,但就我而言,查看应用程序事件日志时,我看到同时发生的看似不相关的事件:

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 类型= 自己的

这会将 WMI 和 Windows Update 隔离在它们自己的 svchost.exe 中,
这样,如果再次崩溃,它们就不会影响其他正在运行的服务。
经过进一步调查,WMI 也可能是受害者,因为
问题是 OLE 可能会编码两次未初始化的代码。

该线程上的另一个人报告说,只有第一个命令对他有用,尽管问题消失了:

我按照您的指示得到了以下结果。

Sc config winmgmt type= own
成功
Sc 配置 wuaserv 类型 = 自己
[SC] OpenService 失败 1060:
指定的服务不作为已安装的服务存在。

虽然其中一个命令失败,但我不再获取主机
错误信息

Looks like there're multiple possible root causes, but in my case looking at the application event log I saw seemingly unrelated event that happened at the same time:

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: 

Here's what helped me. (And this is total black magic, I don't understand why it worked.)
Taken from here:

Start / All Programs / Right Click on Command Prompt / Run as
Administrator At the command prompt type the following command:

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

This will isoloate WMI and Windows Update in their own svchost.exe,
this way they won't affect other running services if it crashes again.
After further investigation, WMI could also be a victim, since the
problem is that OLE probably code uninitialized twice.

The other guy on the thread reported that only the first command worked for him, though the issue went away:

I followed your directions with the following results.

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.

Although one of the commands failed, I am no longer getting the host
error message

翻了热茶 2024-09-08 18:49:36

您可以尝试以下几种方法。

  1. 尝试在 IIS 中创建一个单独的应用程序池,并在 WCF 服务中使用该应用程序池。
    这样,应用程序池完全专用于 WCF,并且不会引发任何错误。

  2. 您是否使用内置的“网络服务”或“本地服务”或“本地系统”之一作为应用程序池标识?如果是,请尝试设置一个服务帐户并在应用程序池标识中使用该帐户。

希望这有帮助!

There are couple of things you can try..

  1. Try to create a separate App-pool in IIS and use that app-pool in the WCF service.
    This way, the app-pool is entirely dedicated for the WCF and would not throw any errors.

  2. Are you using one of the built-in "Network service" or "Local Service" or "Local System" for the app-pool identity? If yes, try to setup a service account and use that in the app-pool identity.

Hope this helps!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文