【发布时间】:2012-10-15 18:29:33
【问题描述】:
我在寻找不时尝试获取给定用户的用户组时出现 ASP.NET 4 应用程序失败的问题时遇到了麻烦。与此应用程序关联的应用程序池设置为在 ApplicationPoolIdentity 下运行。
异常信息
System.DirectoryServices.DirectoryServicesCOMException
HRESULT: 80072020
Message: An operations error occurred.
Extended Message: 000004DC: LdapErr: DSID-0C0906E8, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v1db1
堆栈跟踪
System.DirectoryServices.DirectoryEntry.Bind(Boolean)
System.DirectoryServices.DirectoryEntry.Bind()
System.DirectoryServices.DirectoryEntry.get_AdsObject()
System.DirectoryServices.DirectorySearcher.FindAll(Boolean)
System.DirectoryServices.DirectorySearcher.FindOne()
在 95%-99% 的情况下,此功能可以正常工作,但有时会开始失败。当我将应用程序池更改为使用 LocalSystem 或 NetworkService 时,它开始工作。当我改回 ApplicationPoolIdentity 时,它再次开始失败。使站点再次使用 ApplicationPoolIdentity 的唯一方法是重新启动服务器。
我能够找到类似的问题here,但解决方案也是重新启动。我想找到一个更持久的解决方案,而不是更改应用程序池的身份。
【问题讨论】:
-
原来我只是在详细搜索。发布此问题后,我发现 this question 似乎与解决方案的修补程序相同。
-
我认为您应该将其发布为答案并将其标记为“已接受”(如果此站点允许您)。这使未来的访问者可以看到问题已经解决。
-
好电话,已添加答案。
标签: asp.net iis-7.5 directoryservices applicationpoolidentity