【发布时间】:2018-05-03 23:00:58
【问题描述】:
问题:是否可以向 SearchResultCollection 添加项目?还是有潜在的解决方法?
项目要求:获取所有对象和特定数据以及所有对象组成员(表示为 GroupGuid 和 MemberGuid 对)。
问题:我在一个检索所有对象和一个对象的组成员的程序中发现了一个竞争条件。问题是如何最好地处理它?我能想到的最好的方法是获得两个 SearchResultCollections (SRC)。
- srcObjects = 获取所有对象
- srcGroups = 获取仅组对象。
对于 srcObjects 中的所有对象,我可以检索我需要的所有属性,同时还将 objectGUID 和 distinctName 添加到字典中。我可以在 srcGroups 集合上运行一个循环,它将返回 distinctNames。然后,在从字典中检索 objectGUID 时,我可以测试它是否存在。如果没有,则在程序运行时添加了一个新对象(即竞争条件)。我想将新对象添加到 srcObjects 集合中。这应该可以解决竞争条件,同时还允许我检索新对象的属性。
一旦检索到所有组成员,我就可以遍历 srcObjects 集合并确保 srcGroups 集合中的所有对象也在 srcObjects 集合中。
【问题讨论】:
-
听起来你可能需要一个可观察的或利用的事件。如果您添加代码,它将有助于获得正确的解决方案。
标签: c# active-directory