Windows XP上的PrincipalServerDownException但Windows 7上没有

时间:2012-06-05 08:33:13

标签: c# windows-7 active-directory windows-xp principalcontext

我们有一个完全信任的WPF应用程序。

部分应用程序会检查Windows AD组的成员身份。

这适用于Windows 7计算机,但不适用于Windows XP计算机。

错误发生在以下行:

PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "domain name");

1 个答案:

答案 0 :(得分:2)

根据文章Managing Directory Security Principals in the .NET Framework 3.5,可能不需要“域名”变量。也就是说,如果您在与应用程序相同的域中访问Active Directory,则不需要域名。

  

您在PrincipalContext构造函数中使用name参数   命令提供要连接的特定目录的名称。   这可以是特定服务器,计算机或域的名称。它的   重要的是要注意,如果此参数为null,则为AccountManagement   将尝试确定默认计算机或域   基于您当前的安全上下文的连接。

问题的解决方案或解决方法(至少在XP和W7上对我有用)是以下更改:

PrincipalContext ctx = new PrincipalContext(ContextType.Domain, null);