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 ?

DirectorySearcher returns ERROR_MORE_DATA

通常,这个问题出现在以下情况:-

如果在网络中找到一个或多个表项,而缓冲区大小不足以容纳它。看到ERROR_MORE_DATA

你只需要指定缓冲区的大小。参见:指定网络调用缓冲区的大小

相关文章: