Что-то произошло на моей рабочей станции для разработки (Windows 8.1) за последние несколько недель, что требует, чтобы я либо запускал свои пулы приложений с настройкой «Загрузить профиль пользователя» в False, либо не запускал с идентификатором, установленным на ApplicationPoolIdentity. Если бы я создал новый пул приложений, используя ApplicationPoolIdentity в качестве удостоверения и с loadUserProfile=true, при попытке загрузить приложение в браузере произошло бы следующее:
- A number of errors in the Windows Event Log (both System and Application types):
- Warning event 1509 -
Windows cannot copy file \\?\C:\Users\Default\AppData\Local\Microsoft\VSCommon\12.0\SQM\sqmdata-7236-039-00000.sqm to location \\?\C:\Users\[Name of App Pool]\AppData\Local\Microsoft\VSCommon\12.0\SQM\sqmdata-7236-039-00000.sqm. This error may be caused by network problems or insufficient security rights.
- Событие ошибки 1511 —
Windows cannot find the local profile and is logging you on with a temporary profile. Changes you make to this profile will be lost when you log off.
- Еще одно предупреждение 1509 года
- Событие ошибки 1500 —
Windows cannot log you on because your profile cannot be loaded. Check that you are connected to the network, and that your network is functioning correctly. DETAIL - Only part of a ReadProcessMemory or WriteProcessMemory request was completed.
- 5 предупреждений о событии 5022 —
The Windows Process Activation Service failed to create a worker process for the application pool '[App Pool Name]'. The data field contains the error number.
- В итоге ошибка 5002 -
Application pool '[App Pool Name]' is being automatically disabled due to a series of failures in the process(es) serving that application pool.
- Warning event 1509 -
- Пул приложений закрыт, как говорит ошибка 5002
- "Ошибка 503. Сервис недоступен." затем отображается в браузере. Любые дальнейшие запросы удовлетворяются тем же самым (что имеет смысл, поскольку пул приложений отключен).
Я видел общее «исправление» для этого здесь и здесь, которые в основном говорят, чтобы отключить загрузку профиля. Да, это убирает проблему, но не устраняет первопричину. Я знаю, что с этой конфигурацией можно работать, поскольку у меня есть машина с Windows 2012, которая отлично поддерживает эту конфигурацию. В этом случае нажатие на приложение с новым пулом приложений, установленным на ApplicationPoolIdentity и loadUserProfile=true, фактически создает новый профиль пользователя (я могу наблюдать, как папка профилей создается в C:\Users
), и приложение работает весело. Что еще хуже, я знаю, что эта конфигурация работала на проблемной машине всего несколько недель назад. У меня есть несколько созданных мной пулов приложений, которые имеют свои собственные профили и папку в папке C:\Users
. Эти пулы приложений СЕЙЧАС прекрасно работают с настройками ApplicationPoolIdentity и loadUserProfile=true. Просто НОВЫЕ пулы приложений отказываются запускаться и загружать профиль пользователя.
Есть ли у кого-нибудь понимание того, что может происходить?
Изменить: я прочитал нижнюю часть эта недавняя статья. Это немного противоречиво, говоря, что настройку можно включить, но также говорит:
Только стандартные пулы приложений (DefaultAppPool и Classic .NET AppPool) имеют профили пользователей на диске. Профиль пользователя не создается, если администратор создает новый пул приложений.
Однако при желании вы можете настроить пулы приложений IIS для загрузки профиля пользователя, задав для атрибута LoadUserProfile значение «true».
Я очень смущен.