DirectorySearcher returns ERROR_MORE_DATA
本文关键字:MORE DATA ERROR returns DirectorySearcher | 更新日期: 2023-09-27 18:07:38
我开发了一个与Directory Server对话并获取用户信息的应用程序。
这个应用程序是一个通用的,可以与活动目录或任何其他目录服务对话。
在一种情况下,我使用这个应用程序从Radiant one VDS读取数据,应用程序与ERROR_MORE_DATA
失败。以下是返回此错误的代码:
try
{
using (DirectoryEntry de = new DirectoryEntry("LDAP://" + server + "/" + basedn, username, pwd,AuthenticationTypes.None))
{
using (DirectorySearcher Searcher = new DirectorySearcher(de))
{
Searcher.Filter = "(&(objectClass=user))";
Searcher.ReferralChasing = ReferralChasingOption.All;
Searcher.PropertiesToLoad.Add("cn");
Searcher.PropertiesToLoad.Add("memberof");
Searcher.PageSize = 1000;
using (SearchResultCollection allUsers = Searcher.FindAll())
{
foreach (SearchResult user in allGroups)
{
.
.
.
.
}
}
}
}
}
catch(System.Exception ex)
{
}
在上述代码中,Searcher.FindAll()
返回ERROR_MORE_DATA
。当我搜索时,我找到了这篇文章。
但是,本文讨论的是。net 1.0,而我的应用程序在。net 3.5上运行
有谁能帮我一下吗?有没有办法解决这个问题而不去DirectoryServices.Protocols
?
通常,这个问题出现在以下情况:-
如果在网络中找到一个或多个表项,而缓冲区大小不足以容纳它。看到ERROR_MORE_DATA
你只需要指定缓冲区的大小。参见:指定网络调用缓冲区的大小