LdapConnection SearchRequest 抛出对象不存在错误 - 重新访问
LdapConnection SearchRequest throwing object does not exist error - revisited
我有与 LdapConnection SearchRequest throwing object does not exist error 相同的问题。那边的答案似乎对我不起作用
每当执行这两行代码时(Winforms 应用程序,C#)...
var request = new SearchRequest(DN, "(objectClass=*)", SearchScope.Subtree, null);
var response = (SearchResponse)LdapConnection.SendRequest(request);
...and DN
指向现有的专有名称,一切正常。
如果 DN
未指向现有的专有名称,我将收到“对象不存在”错误,而不是带有 .Entries.Count == 0
的有效 SearchResponse
对象。
我无法更改 filter 参数,这必须是 "(objectClass=*)"
(以防万一;它与我所指的 Whosebug post 不同) .
有人有什么想法吗?
这是预期的行为。
您提供的 DN 是搜索根:目录中开始搜索的位置。如果那是无效的,那么它就不能执行搜索,这就是你得到异常的原因。
这与搜索成功但没有找到结果的情况不同。
如果您无法提前验证 DN 是否存在,则只捕获该异常。
我有与 LdapConnection SearchRequest throwing object does not exist error 相同的问题。那边的答案似乎对我不起作用
每当执行这两行代码时(Winforms 应用程序,C#)...
var request = new SearchRequest(DN, "(objectClass=*)", SearchScope.Subtree, null);
var response = (SearchResponse)LdapConnection.SendRequest(request);
...and DN
指向现有的专有名称,一切正常。
如果 DN
未指向现有的专有名称,我将收到“对象不存在”错误,而不是带有 .Entries.Count == 0
的有效 SearchResponse
对象。
我无法更改 filter 参数,这必须是 "(objectClass=*)"
(以防万一;它与我所指的 Whosebug post 不同) .
有人有什么想法吗?
这是预期的行为。
您提供的 DN 是搜索根:目录中开始搜索的位置。如果那是无效的,那么它就不能执行搜索,这就是你得到异常的原因。
这与搜索成功但没有找到结果的情况不同。
如果您无法提前验证 DN 是否存在,则只捕获该异常。