Пулы приложений, не запускаемые после iisreset

прежде чем я начну, я знаю, что использование iisreset считается плохой практикой, но этого не должно произойти в любом случае..

что у нас есть:

  • несколько машин с IIS6 на Windows Server 2003 R2 (64 и 32 бита)

  • несколько веб-сервисов WCF (.NET runtime 2.0), развернутых в нескольких приложениях, каждый со своим собственным пулом приложений, каждый пул приложений работает под другой windows счет.

что будет:

  • все appPools запущены, все службы работают
  • iisreset выполняется (или машина перезагружается)
  • IIS возвращается, но не все пулы приложений запускаются должным образом. Иногда они все возвращаются, иногда один или несколько бассейнов не заводятся. Однако их можно запустить вручную.

Это "нормальное" поведение iis, и я должен просто избегать использования iisreset, или мы делаем что-то неправильно в нашем .NET-коде?

5 ответов


пулы приложений должны перезапускаться в iisreset, но они работают вне iis (в COM+) для надежности. Это означает, что они могут не вернуться, если приложение плохо себя ведет, но IIS и другие приложения(должны) вернуться. Так что да, это "нормально".

С. П. Я также хотел бы "выйти" из себя как горда пользователь iisreset. Плохая практика? Бах!; D


IIS не запускается сразу ASP.NET рабочие процессы (w3wp.exe), пока не поступит первый запрос. Когда вы говорите "не запущен", означает ли это, что вы пытаетесь получить доступ к некоторым веб-службам WCF (после iisreset), и вы получаете ошибку недоступности службы, потому что appPool не может быть запущен? Вы видите какие-либо связанные записи IIS W3SVC в журналах событий?

Если есть, они могут подсказать вам, почему они не могут начать; разместите их здесь.


была аналогичная проблема-после перезапуска IIS DefaultAppPool был остановлен.

в журналах событий приложений обнаружена ошибка:

Windows не может войти, потому что ваш профиль не может быть загружен. Проверьте, что вы подключены к сети и что сеть правильно работает. Если эта проблема не устранена, обратитесь к сетевому администратору.
DETAIL-Доступ запрещен.

исправлено путем установки в DefaultAppPool Дополнительные Параметры опции Загрузить Профиль Пользователя to False.

надеюсь, что это может быть полезно.


причина:

IIS не запускается сразу ASP.NET рабочие процессы (w3wp.exe), пока не поступит первый запрос. Когда он говорит "не запущен", это означает, что попытка доступа к некоторым веб-службам WCF (после iisreset) не удалась из-за того, что объект занимал некоторое пространство в памяти, и вы получаете ошибку недоступности службы, потому что appPool не может быть запущен.

решение:

создайте пакетный файл со следующими командами и запланируйте его.

net stop 23svc

net stop msftpsvc

net stop smtpsvc

net stop PleskControlPanel

net stop HTTPFilter

команду iisreset /перезагрузка

сеть запустить службу w3svc

net start msftpsvc

net start smtpsvc

net start PleskControlPanel

net Start HTTPFilter


в предыдущей роли поддержки я управлял несколькими серверами IIS, на которых выполнялись все виды .NET mess. Когда AppPool не удалось запустить, обычно это были плохие учетные данные для входа.