WPF 活动目录调用性能问题
本文关键字:性能 问题 调用 活动 WPF | 更新日期: 2023-09-27 18:33:59
我有一个 C# WPF 应用程序,我正在尝试对 Active Directory 服务器执行轻度检查,并且遇到了 20-30 秒的严重性能问题才能运行该功能。使用相同的代码,我可以将其放置在Winforms应用程序中,大约需要1秒或更短的时间。由于它是一个大广告,我猜它正在为最终用户提取所有属性,但我真的只想要这个人的名字和姓氏(用于其他目的),并确保用户在 Active Directory 中。
这是代码:
public string DomainUserNameGet(string ActiveDirectoryServer, string WindowsUserID) {
/// queries AD to get logged on user's name
string results = "";
try {
// create your domain context
PrincipalContext oPrincipalContext = new PrincipalContext(
ContextType.Domain
, ActiveDirectoryServer
);
UserPrincipal oUserPrincipal = UserPrincipal.FindByIdentity(
oPrincipalContext
, IdentityType.SamAccountName
, ActiveDirectoryServer + @"'" + WindowsUserID
);
results =
oUserPrincipal.GivenName.ToString()
+ " "
+ oUserPrincipal.Surname.ToString();
} catch { }
return results;
}
疯狂的是我可以通过命令行执行以下操作并在大约 1 秒内获得响应:
NET USER /DOMAIN LANID | find "LANID" /c
关于如何提高性能的任何想法?
RenniePet 说得对;原来存在 DNS 问题;我不确定为什么这会出现在 WPF 与获胜形式中。