3

可能重复:
如何知道我的 DirectoryEntry 是否真的连接到我的 LDAP 目录?

我故意使用无效域调用 DirectoryEntry() 来测试我的 C# 应用程序如何处理服务器停机等情况。 DirectoryEntry() 不会引发异常 - 它返回(看似正常)但是在调试时,我不能查看 directoryEntry 的内容 - 它在变量扩展时超时。

直到我对 DirectorySearcher 对象执行操作后,程序才会挂起几分钟,然后返回异常“服务器无法运行”。似乎设置 clientTimeout 也无济于事。有什么建议么?

TimeSpan timeout = new TimeSpan(0, 0, 0, 15, 0);
string domain = "asdf";
DirectoryEntry myDirectoryEntry = new DirectoryEntry("LDAP://" + domain);
DirectorySearcher mySearcher = new DirectorySearcher(myDirectoryEntry);
mySearcher.ClientTimeout = timeout;
mySearcher.Filter = "(&(objectCategory=person)(objectClass=user));
searcher.FindAll();  //this takes minutes with invalid domain!!!
4

0 回答 0