相关疑难解决方法(0)

Active Directory COM异常 - 发生操作错误(0x80072020)

当我尝试使用方法GroupPrincipal.FindByIdentity查询Active Directory时,我收到间歇性COM异常" 发生操作错误(0x80072020) "(如下所示)

这是我的代码:

PrincipalContext ctx = new PrincipalContext(ContextType.Domain, Environment.UserDomainName);
GroupPrincipal groupPrincipal = GroupPrincipal.FindByIdentity(ctx, IdentityType.Name, "Group to find");
Run Code Online (Sandbox Code Playgroud)

我收到例外:

Inner Exception: System.Runtime.InteropServices.COMException (0x80072020): An operations error occurred.
  at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
  at System.DirectoryServices.DirectoryEntry.Bind()
  at System.DirectoryServices.DirectoryEntry.get_AdsObject()
  at System.DirectoryServices.PropertyValueCollection.PopulateList()
  at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName)
  at System.DirectoryServices.PropertyCollection.get_Item(String propertyName)
  at System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInitNoContainer()
  at System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit()
  at System.DirectoryServices.AccountManagement.PrincipalContext.Initialize()
  at System.DirectoryServices.AccountManagement.PrincipalContext.get_QueryCtx()
  at System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithTypeHelper(PrincipalContext context, Type principalType, Nullable`1 identityType, String identityValue, DateTime refDate)
  at System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithType(PrincipalContext context, Type principalType, IdentityType identityType, String identityValue)
  at System.DirectoryServices.AccountManagement.GroupPrincipal.FindByIdentity(PrincipalContext context, IdentityType identityType, …
Run Code Online (Sandbox Code Playgroud)

.net c# com exception active-directory

27
推荐指数
3
解决办法
5万
查看次数

DirectoryServicesCOMException 80072020来自IIS 7.5在ApplicationPoolIdentity下运行的站点

我无法找到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
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪

    System.DirectoryServices.DirectoryEntry.Bind(Boolean) 
    System.DirectoryServices.DirectoryEntry.Bind() 
    System.DirectoryServices.DirectoryEntry.get_AdsObject() 
    System.DirectoryServices.DirectorySearcher.FindAll(Boolean) 
    System.DirectoryServices.DirectorySearcher.FindOne() 
Run Code Online (Sandbox Code Playgroud)

95%-99%的时间,此功能正常,但有时,它只是开始失败.当我将应用程序池更改为使用LocalSystem或NetworkService时,它开始工作.当我改回ApplicationPoolIdentity时,它又开始失败了.使ApplicationPoolIdentity重新启动站点的唯一方法是重新启动服务器.

我在这里找到了类似的问题,但解决方案也是重启.我想找到一个更永久的解决方案,而不是改变应用程序池的身份.

asp.net directoryservices iis-7.5 applicationpoolidentity

6
推荐指数
1
解决办法
5059
查看次数