【问题标题】:Querying AD throws System.Runtime.InteropServices.COMException查询 AD 抛出 System.Runtime.InteropServices.COMException
【发布时间】:2014-03-25 15:38:19
【问题描述】:

我的团队在 VS 2013 中使用 IIS Express 进行调试,在为 AD 组查询 Active Directory 时出现以下错误:

System.DirectoryServices.AccountManagement.dll 中出现“System.Runtime.InteropServices.COMException”类型的异常,但未在用户代码中处理

附加信息:与服务器的多个连接或共享 同一用户使用多个用户名的资源不属于 允许。断开与服务器的所有先前连接或共享 资源,然后重试。

在下面的代码中,错误是由GetAuthorizationGroups() 抛出的。

代码:

public List<String> GetAllADGroups(String userName)
{

    List<String> groups = new List<String>();

    PrincipalContext ctx = new PrincipalContext(ContextType.Domain, this.Domain, this.LDapUserName, this.LDapPassword);
    UserPrincipal user = UserPrincipal.FindByIdentity(ctx, userName);
    // error on next line
    foreach(Principal group in user.GetAuthorizationGroups().OrderBy(x => x.Name))
    {
        if (group.ContextType == ContextType.Domain && !String.IsNullOrEmpty(group.Name))
        {
            groups.Add(group.Name);
        }
    }
    ctx.Dispose();
    return groups;
}

由于这个项目在 TFS 中,我有 3 个开发人员从他们的开发服务器上运行此代码。我只在其中一台服务器上收到此错误。在引发此错误的服务器上;当我从 IIS 运行站点时,代码工作正常。所以它让我认为问题出在以下之一:

  1. IIS Express
  2. 服务器配置
  3. VS 2013 配置

感谢任何帮助。

【问题讨论】:

    标签: visual-studio c#-4.0 active-directory iis-express asp.net-4.5


    【解决方案1】:

    在运行 GetAuthorizationGroups() 时,我始终遇到相同的异常

    System.Runtime.InteropServices.COMException: '不允许同一用户使用多个用户名与服务器或共享资源建立多个连接。断开与服务器或共享资源的所有先前连接,然后重试。'

    但是GetGroups() 工作正常。

    “安乐死”服务器不是一个选项,所以我选择了How to get all the AD groups for a particular user? 的令牌组解决方案(这不是公认的答案,在撰写本文时它是倒数第三个)。

    【讨论】:

      【解决方案2】:

      经过进一步调查,我们注意到有问题的服务器无法连接到域控制器,这是导致问题的原因。奇怪的是,这只发生在对域控制器的某些调用上。有些电话有效,有些电话无效。我们得出结论,重建服务器并从头开始更容易。随着新服务器的构建,我们没有任何问题。

      这是一个好的答案吗?可能不是。在这种情况下,服务器生病了,我们对其进行了安乐死。有时重新开始会更容易,然后花 3 天时间尝试找出问题(我们确实这样做了)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-12
        • 2015-09-02
        • 2014-11-25
        • 2023-04-05
        相关资源
        最近更新 更多