asp.net LDAP查询未返回所有结果

时间:2013-07-08 15:55:05

标签: c# asp.net active-directory ldap

我正在通过c#使用LDAP命令将组添加到活动目录组织单元并将其删除,但是在更改完成后查询AD时出现问题。

基本上,当用户点击按钮添加组时,代码会添加组,然后将数据重新绑定到列表视图,以便更新用户看到的组列表。

问题是新添加的组不会一直显示。添加组不起作用的代码不是问题,或者列出组的代码不起作用,看起来在域显示组已存在之前只有一段延迟。

我的理论是域控制器还没有完成同步,在列出更新的组之前只需要时间就可以完成。

所以我的问题是,我的理论是否正确,或者是否存在某种缓存,如果确实存在延迟,是否有办法适应这种延迟?

我可以强迫应用程序等待,但如果可能的话,我想避免使用它。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

可能尚未复制更改。 LDAP客户端绝不能搜索由于最终一致性而刚刚修改或添加的条目。对客户端进行更改的正确过程是将读取后请求控件附加到修改请求。读后响应将包含修改完成后的条目状态。

可以在客户端和服务器之间放置具有服务器亲缘关系的专业质量LDAP代理服务器,以确保始终将客户端操作发送到同一服务器(通常在可配置的时间段内)。这否定了最终一致性的影响。有关详细信息,请参阅文章post-read request control