C#Novell.Directory.Ldap .NETSTandard VLV控件:LDAP搜索始终可以在调试模式下正常运行,但不能实时运行

时间:2018-08-06 16:31:06

标签: c# ldap ldapconnection novell

我正在为我的应用程序使用Novell.Directory.Ldap.NETStandard 2.3.8和.Net Core 2.0。

当我在调试模式下使用以下代码进行搜索时,总是得到正确的结果/响应。但是,当我在没有调试的情况下进行搜索时,搜索将返回不同的结果。 观察:如果我在while循环中添加一些延迟以获取下一个条目,那么它也可以实时正常运行。

LdapVirtualListControl vlv = null;
LdapSortKey[] keys = new LdapSortKey[1];
keys[0] = new LdapSortKey("******");
sort = new LdapSortControl(keys, true);
vlv = new LdapVirtualListControl(1, 0, 10, 0);

LdapSearchConstraints searchConstraints = new LdapSearchConstraints();
searchConstraints.BatchSize = 1;
searchConstraints.MaxResults = 10000;

List controlArr = new List();
controlArr.Add(sort);
controlArr.Add(vlv);
searchConstraints.setControls(controlArr.ToArray());

LdapSearchResults lsc = ldapConnection.Search("---SearchBaseDn----",
LdapConnection.SCOPE_SUB,
"---filter----",
"---attributes to retrieve----",
false,
searchConstraints);

while (lsc.hasMore())
{
  LdapEntry nextEntry = null;
  try
  {
    nextEntry = lsc.next();
  }
  catch (LdapException e)
  {
    // Exception is thrown, go for next entry
    continue;
  }
}

0 个答案:

没有答案