System.DirectoryServices.AccountManagement.PrincipalServerDownException:无法联系服务器

时间:2016-03-10 04:36:00

标签: c# wpf active-directory

我正在创建一个WPF应用程序,该应用程序使用PrincipleContext从Active Directory中获取用户Guid

这是我的代码:

using System.DirectoryServices.AccountManagement;
private string GetUserGuid()
{
    PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
    UserPrincipal user = UserPrincipal.FindByIdentity(ctx, getUsername());
    if (user != null)
    {
       return user.Guid.ToString();
    }
    else
    {
       return string.Empty;
    }

 }

PrincipalContext抛出Exception

  

System.DirectoryServices.AccountManagement.PrincipalServerDownException:   无法联系服务器。

任何人都可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

您未在PrincipalContext中指定域名。

 PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

应该是:

 PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "yourdomain.com");

答案 1 :(得分:1)

也许我有点晚了,但我遇到了同样的问题而我正在寻找答案。根据我的测试,当我没有连接互联网或者我没有与机器的域相同的网络时,就出现了这个问题。 这对我来说很关键。

问候。