0

我有一个 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如果应用程序池凭据没有更改,为什么应用程序池回收会改变行为?

4

1 回答 1

1

使用域帐户的应用程序池与 AD 域控制器一起验证域用户。

由于我们不知道贵公司的 AD 发生了什么,我们无法明确说明原因。我们只能假设或推测它似乎导致了这个问题。

在 AD 高兴之后重置池再次重置这个魔法。魔术 - 因为我实际上并不知道引擎盖机制,但应用程序池依赖 AD 来验证域用户。

您的默认应用程序池回收时间为 29 小时,最终也会修复它。你只是自己做的。

于 2018-11-09T19:23:21.510 回答