1

我在使用域目录方法连接到活动目录时遇到了性能问题,然后一位朋友建议我使用全局目录方法,但我遇到了更高的性能问题,我做了一个概念验证然后使用

示例 1:使用域目录

DirectoryEntry de = new DirectoryEntry();

de.Path = "LDAP://DomainName.CORP.COM";
de.Password = "UserPassword";
de.Username = "UserName";

DirectorySearcher deSearch = new DirectorySearcher();
deSearch.SearchRoot = de;

deSearch.ClientTimeout = new TimeSpan(0, 0, 60);

deSearch.SearchScope = SearchScope.Subtree;
string format = "(&(objectClass=user)(sAMAccountName="+InputUserName+"))";
deSearch.Filter = string.Format(format, UserName);

大约用了 1 秒

示例 2:使用带有不安全端口 (3268) 的全局目录:

de.Path = "GC://CORP.COM:3268";

花了6秒

示例 3:使用带安全端口 (3269) 的全局目录:

de.Path = "GC://CORP.COM:3269";

耗时 38 秒

您能帮助我如何使用安全的全局目录方法解决性能问题,因为您看到它花费了很多时间?

顺便说一句,我在以下文章中找到:http: //support.microsoft.com/kb/951581我们可以通过禁用分页查询来解决性能问题,但我不知道我是如何实现的?

您的反馈将不胜感激

4

2 回答 2

0

SSL 问题可能与检查证书吊销或类似情况有关。

您的 DC 运行的是什么版本的 Windows?

于 2012-04-13T19:29:12.537 回答
0

很难说出您的最终目标是什么,但是从您的代码来看,您似乎只是在尝试授权用户,然后也许还要检索他们的属性?

如果是这种情况,您真的不必使用全局目录语法。我建议使用标准域目录语法和较低级别的 System.DirectoryServices 库。

在通过 SSL 连接\授权\搜索 Active Directory 时,我花了几周时间研究一个非常相似的性能问题,您可以在此处找到票证:

为 System.DirectoryServices.DirectoryEntry 设置回调以处理自签名 SSL 证书?

希望这会让你朝着正确的方向前进。

于 2012-12-31T16:10:21.437 回答