【问题标题】:asp.net LDAP query not returning all resultsasp.net LDAP 查询不返回所有结果
【发布时间】:2013-07-08 15:55:04
【问题描述】:

我通过 c# 使用 LDAP 命令向 Active Directory 组织单元添加和删除组,但是在进行更改后查询 AD 时遇到问题。

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

问题是新添加的组并非一直显示。添加组的代码不起作用,或者列出组的代码不起作用,这不是问题,在域将组显示为存在之前似乎只是延迟。

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

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

我可以强制应用程序等待,但如果可能的话,我想避免这种情况。

感谢您的帮助。

【问题讨论】:

  • 您的网络中是否有多个 DC?如果您碰巧在 DC1 上添加了一个组,则可能需要几分钟(最多 15 分钟)才能复制到其他 DC 的 ...

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


【解决方案1】:

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

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

【讨论】:

  • 谢谢。因为它证实了我对复制的怀疑,所以我只是在我的 ldap 查询中指定了一个域控制器,而不仅仅是域本身。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多