我需要使用使用 .NET/C# 实现的 Ldap 搜索来获取“epersonstatus=REMOVE”的所有员工的“员工编号”,例如:
var connection = new LdapConnection("foo.bar.com:389");
connection.AuthType = AuthType.Anonymous;
connection.SessionOptions.ProtocolVersion = 3;
connection.Bind();
var request = new SearchRequest(
"dc=root,dc=com",
"(epersonstatus=REMOVE)",
SearchScope.Subtree,
new string[] { "employeenumber" });
由于有成千上万的条目,我正在使用此处建议的分页请求:http: //dunnry.com/blog/PagingInSystemDirectoryServicesProtocols.aspx
我还检查了服务器是否支持此处建议的分页请求: iPlanet LDAP and C# PageResultRequestControl
一旦流量达到:
SearchResponse response = connection.SendRequest(request) as SearchResponse;
我收到带有消息“请求的属性不存在”的 DirectoryOperationException。
通过在像 softerra 这样的 LDap 客户端上运行相同的查询,我得到了条目(一千)和错误。
一些帮助将不胜感激。