在使用 DirectoryEntry 进行 LDAP 搜索时,可能会遇到“AD - LDAP错误:使用DirectoryEntry搜索超时”的问题。这通常是由于搜索操作耗费的时间超过了默认的超时时间导致的。为了解决这个问题,你可以通过设置适当的超时时间来增加搜索操作的时间限制。以下是一个代码示例,展示了如何设置超时时间:
using System.DirectoryServices;
// 创建 DirectoryEntry 对象
DirectoryEntry entry = new DirectoryEntry("LDAP://yourdomain.com");
// 设置超时时间为10秒
entry.Timeout = TimeSpan.FromSeconds(10);
// 创建 DirectorySearcher 对象
DirectorySearcher searcher = new DirectorySearcher(entry);
// 执行搜索操作
SearchResultCollection results = searcher.FindAll();
// 处理搜索结果
foreach (SearchResult result in results)
{
// 处理搜索结果
}
// 关闭连接
entry.Close();
在上面的示例中,我们通过设置 entry.Timeout
属性,将超时时间设置为 10 秒。你可以根据实际情况调整超时时间。然后,我们创建一个 DirectorySearcher 对象,并使用 FindAll()
方法执行搜索操作。最后,我们遍历搜索结果,并对其进行处理。在处理完搜索结果后,记得关闭连接,以释放资源。
通过设置合适的超时时间,你可以解决“AD - LDAP错误:使用DirectoryEntry搜索超时”的问题,并确保搜索操作在指定的时间内完成。