2013-07-08 59 views
0

我通過c#使用LDAP命令向活動目錄組織單元添加和刪除組,但在更改完成後查詢AD時遇到問題。asp.net LDAP查詢不返回所有結果

基本上,當用戶點擊按鈕添加組時,代碼會添加該組,然後將數據重新綁定到列表視圖以更新用戶看到的組列表。

問題是新添加的組不會一直顯示出來。這不是代碼添加組不起作用的問題,或者列出組的代碼不起作用,看起來在域顯示組存在之前只有一段延遲。

我的理論是,域控制器尚未完成同步,並且在列出更新的組之前完成此操作只需要時間。

所以我的問題是,我的理論是正確的,還是有某種緩存正在進行,如果確實有延遲,是否有辦法來適應這種延遲?

我可以強制應用程序等待,但如果可能的話,我想避免這種情況。

感謝您的任何幫助。

+0

您的網絡中是否有多個DC?如果您碰巧在DC1上添加一個組,則可能需要幾分鐘(最多15分鐘)才能將其複製到其他DC ... –

回答

0

很可能這些更改尚未複製。由於最終一致性,LDAP客戶端不得搜索剛修改或添加的條目。對條目進行更改的LDAP客戶端的正確過程是將後讀請求控件附加到修改請求。讀後響應將包含修改完成後的條目狀態。

具有服務器關聯性的專業質量LDAP代理服務器可放置在客戶端和服務器之間,以確保客戶端操作始終發送到同一服務器(通常在可配置的時間段內)。這抵消了最終一致性的影響。有關更多信息,請參見文章post-read request control

+0

謝謝。既然它證實了我對複製的懷疑,我只是在我的ldap查詢中指定了一個域控制器,而不僅僅是域本身。 – Ken