我正在通过c#使用LDAP命令将组添加到活动目录组织单元并将其删除,但是在更改完成后查询AD时出现问题。
基本上,当用户点击按钮添加组时,代码会添加组,然后将数据重新绑定到列表视图,以便更新用户看到的组列表。
问题是新添加的组不会一直显示。添加组不起作用的代码不是问题,或者列出组的代码不起作用,看起来在域显示组已存在之前只有一段延迟。
我的理论是域控制器还没有完成同步,在列出更新的组之前只需要时间就可以完成。
所以我的问题是,我的理论是否正确,或者是否存在某种缓存,如果确实存在延迟,是否有办法适应这种延迟?
我可以强迫应用程序等待,但如果可能的话,我想避免使用它。
感谢您的帮助。
答案 0 :(得分:0)
可能尚未复制更改。 LDAP客户端绝不能搜索由于最终一致性而刚刚修改或添加的条目。对客户端进行更改的正确过程是将读取后请求控件附加到修改请求。读后响应将包含修改完成后的条目状态。
可以在客户端和服务器之间放置具有服务器亲缘关系的专业质量LDAP代理服务器,以确保始终将客户端操作发送到同一服务器(通常在可配置的时间段内)。这否定了最终一致性的影响。有关详细信息,请参阅文章post-read request control。