gpt4 book ai didi

c# - 在 C# 中使用 DirSync 不仅返回更改的值

转载 作者:太空宇宙 更新时间:2023-11-03 12:34:17 28 4
gpt4 key购买 nike

我将 System.DirectoryServices.Protocols.DirSyncRequestControl 与 cookie 一起使用,以仅同步自上次从 Active Directory 同步到 SQL 数据库后更改的对象。在第一次同步时(cookie 为空)一切正常,但在稍后的差异同步中,搜索仅返回对象的更改属性,而不是我要求的整个属性列表。

SearchRequest Request = new SearchRequest(RootDSE.Properties["defaultNamingContext"].Value.ToString(), "(|(objectClass=user)(objectClass=group)(objectClass=contact))", System.DirectoryServices.Protocols.SearchScope.Subtree, propertiesToLoad);
DirSyncRequestControl DirSyncRC = new DirSyncRequestControl(cookie, System.DirectoryServices.Protocols.DirectorySynchronizationOptions.None, Int32.MaxValue);
Request.Controls.Add(DirSyncRC);

SearchResponse SearchResponse = (SearchResponse)Connection.SendRequest(Request);

foreach (SearchResultEntry Entry in SearchResponse.Entries)
{
...
}

我认为将 DirectorySynchronizationOptions 设置为 None 会起作用,但不幸的是它不起作用。

那么有没有一种方法即使其中一个属性发生变化也始终返回一整套已定义的属性?

提前致谢

最佳答案

Dirsync 控件将只返回已更改的属性。要获取其他用户属性,您有 2 个选项:1. 进行额外的 LDAP 查询以检索所需的属性。2. 使用基于usn的变更跟踪技术

关于c# - 在 C# 中使用 DirSync 不仅返回更改的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41590609/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com