Application Pools not starting after iisreset

做~自己de王妃 提交于 2020-01-01 03:15:06

问题


Before I start, I know using iisreset is considered bad practice, but this shouldn't happen anyway..

What we have:

  • Several machines with IIS6 on Windows Server 2003 R2 (both 64 and 32 bits)

  • Several WCF webservices (.NET runtime 2.0) deployed in several applications, each with it's own application pool, each application pool running under an other windows account.

What happens:

  • All appPools are started, all services operational
  • IISReset is executed (or the machine is rebooted)
  • IIS comes back up, but not all application pools start properly. Sometimes they all come back up, sometimes one or more pools won't start. They can be started manually however.

Is this "normal" iis behavior and should I just avoid using iisreset, or are we doing something wrong in our .NET code?


回答1:


The application pools should restart on an iisreset, but they do run outside of iis (in COM+) for reliability. This mean they may may not come back if the application is misbehaving, but IIS and the other apps will(should) come back. So yes, This is "normal".

P.S. I would also like to "OUT" myself as a proud user of iisreset. Bad practice? Bah! ;D




回答2:


IIS does not immediately start ASP.NET worker processes (w3wp.exe) until the first request comes in. When you say "not started", does it mean you attempt to access some WCF web services (after iisreset), and you get a Service Unavailable error because the appPool cannot be started? Do you see any IIS W3SVC related entries in the Event logs?

If there are, they may be able to clue you in why they cannot start; post them up here.




回答3:


Had similiar issue - after IIS has been restarted, DefaultAppPool was stopped.

In application event logs found an error:

Windows cannot log you on because your profile cannot be loaded. Check that you are connected to the network, or that your network is functioning correctly. If this problem persists, contact your network administrator.
DETAIL - Access is denied.

Fixed by setting in DefaultAppPool Advanced Settings option Load User Profile to False.

Hope it could be usefull.




回答4:


Reason:

IIS does not immediately start ASP.NET worker processes (w3wp.exe) until the first request comes in. When it says "not started" it mean you attempt to access some WCF web services (after iisreset) failed due to object was holding some space in memory, and you get a Service Unavailable error because the appPool cannot be started.

Workaround:

Create Batch file with following commands & schedule it.

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




回答5:


In a prior support role, I managed several IIS servers running all kinds of .NET mess. When an AppPool failed to start, it was usually a bad login credential.



来源:https://stackoverflow.com/questions/246598/application-pools-not-starting-after-iisreset

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!