У меня есть приложение ASP.NET 4.5, которое работает в пуле приложений с определенным именем пользователя и паролем домена. Он работал хорошо в течение нескольких месяцев. Несколько дней назад возникла проблема с Active Directory, детали которой мне неизвестны, но пользователи моего приложения в момент возникновения проблемы сообщали, что им не удалось использовать приложение.
Проблема AD была в конечном итоге «решена», но пользователи все еще не могли использовать приложение - пока я не переработал пул приложений.
Перед перезапуском я поймал это исключение первого шанса:
System.Runtime.InteropServices.COMException (0x8007052E): The user name or password is incorrect.
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
После очистки я перестал видеть это исключение.
Само исключение было сгенерировано вызовом PrincipalContext.FindByIdentity
, который не удался, пока я не переработал пул приложений.
С какой стати перезапуск пула приложений изменит поведение PrincipalContext
, если учетные данные пула приложений не изменились?