- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
当使用 System.DirecoryServices.DirectorySearcher 时,您如何确定是否发生了 ClientTimeOut 或搜索自然返回了一个空的 SearchResultCollection?
给定以下片段
using (var searcher = new DirectorySearcher(adRoot))
{
searcher.Filter = "SomeFilter";
searcher.PropertiesToLoad.Add("givenname");
searcher.PropertiesToLoad.Add("sn");
searcher.PropertiesToLoad.Add("department");
searcher.PropertiesToLoad.Add("samaccountname");
searcher.ClientTimeout = TimeSpan.FromSeconds(10);
using (var results = searcher.FindAll())
{
//haldle results
}
}
}
最佳答案
只有当您将 Asynchronous 属性设置为 true 时,设置 ClientTimeout 才有用。你没有做。非托管 IDirectorySearcher 接口(interface)的文档更加详细。来自 the MSDN article :
The client time limit preference is useful when a client requests an asynchronous search. In an asynchronous search, the client makes a request and then proceeds with other tasks while waiting for the server to return the results. It is possible that the server can go offline without notifying the client. In this case, the client will have no notification of whether the server is still processing the query, or if it no longer live. The client time limit preference gives the client some control of situations like this.
请注意,当您使用托管类时,这种“对情况的某种控制”并不完美。 SearchResultCollection 包装器类实际上并没有为您提供一种简洁的异步搜索方式,它没有“BeginMoveNext”方法来迭代下一个结果。 “继续执行其他任务”的角度是相当理论化的。最好不要使用该属性。
关于c# - 使用 DirectorySearcher 时如何确定 ClientTimeout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21188618/
我正在尝试使用 DirectorySearcher 从 LDAP 获取记录。以下是我正在使用的过滤器: (&(objectCategory=person)(objectClass=user)(empl
我正在使用 DirectorySearcher 来尝试查找有关用户的信息。当我尝试在服务器(位于德国)上运行它时,它会检索有关德国用户的预期信息,但不会检索来自任何其他国家/地区的用户的信息。 这是我
我正在使用 .net 4.7.2(非核心)和 C#。 我需要想出一种方法来不阻止我当前的异步任务,并且我需要在这些任务中搜索用户。我以前做过 DirectorySearcher 操作,所以我知道 AD
The (&(objectClass=user)(|(&(SAMAccountName=jdoe*))) search filter is invalid. 我试图通过他的用户名 jdoe 找到 Jo
我想检测用户在 GUI 中选择的自定义安装位置中是否已经存在目录。我尝试了以下方法: 但这不起作用,因为 DirectorySearch 在 AppSearch 期间发生。而 INSTALL
我正在使用 DirectorySearch 在 Active Directory 中搜索对象。我将 VirtualListView 属性设置为只返回几个值: using System; using S
这个问题在这里已经有了答案: Memory Leak when using DirectorySearcher.FindAll() (5 个答案) 关闭 3 年前。 我正在尝试连接并执行简单的功能,
我有以下代码: // Declare new DirectoryEntry and DirectorySearcher DirectoryEntry domainRoot = new Director
我看到在我执行 DirectorySearcher FindOne() 和我看到的第一个网络数据包发送到 LDAP 服务器之间有 2-5 秒的初始延迟。初始执行后,后续执行会立即完成约 45 秒。
我正在尝试查找在其“管理器”属性中没有任何值的 LDAP 对象。过滤字符串应该是什么?我正在尝试无济于事: "(&(objectClass=user)(objectCategory=person)(m
我有一个 WiX 安装程序,可以将一堆扩展文件安装到另一个应用程序的应用程序目录中。为了确保文件最终出现在正确的位置,我使用了一堆嵌套的 DirectorySearch 来查找应用程序目录。 该应用程
我正在尝试确定是否安装了目录以查看是否应该安装第三方客户端。 当我执行此命令时,candle.exe 出错并告诉我该目录“不是有效的相对长名称,因为它包含非法字符”。并回避了“:”是非法的事实。如何
using (DirectorySearcher srch = new DirectorySearcher(String.Format("(memberOf= {0})",p_Target.Dist
当使用 System.DirecoryServices.DirectorySearcher 时,您如何确定是否发生了 ClientTimeOut 或搜索自然返回了一个空的 SearchResultCo
我正在为我的老板编写一个新程序,它将取代他们目前正在使用的旧 VBS。 因此,该程序假设进入 AD 并收集所有员工的姓名及其电子邮件地址。我的问题是每个用户都分配了大约 60 个属性,但我的程序只拉入
我有一个长时间运行的进程,需要经常在 Active Directory 上执行大量查询。为此,我一直在使用 System.DirectoryServices 命名空间,使用 DirectorySear
我看到使用 PrincipalSearcher 的 Active Directory 示例和其他使用 DirectorySearcher 做同样事情的示例。这两个例子有什么区别? 使用 Princip
我在谷歌上搜索的所有内容只是说您可以将它们添加为字符串数组,但没有说明可用选项是什么。 目录服务提供的所有不同属性有哪些? 最佳答案 你可以把任何 将有效的 LDAP 属性转换为 Properties
我一直收到错误无法联系服务器。当我尝试运行我的代码时: 我已经搜索了几个小时,仍然无法联系到服务器。 DirectorySearcher directorySearcher = new Directo
我是法国人所以请原谅我糟糕的英语:P 当我想通过 CN 针对 LDAPS 检索用户时遇到问题。 当我想通过邮件而不是 cn 检索用户时,这段代码工作正常......不明白为什么。当我使用 ldp.ex
我是一名优秀的程序员,十分优秀!