如何检测对象中的更改?

时间:2010-10-06 13:59:46

标签: c# active-directory

我有这个应用程序循环通过我的AD,我希望它通知我的变化。 IE如果有人更改了他们的电子邮件,则添加了用户等等。 我在考虑校验和DirectoryEntry对象,它获取了所有子节点的根AD对象,但我无法绕过它。

DirectoryEntry entry = 
    new DirectoryEntry("LDAP://" + domain, username, password);

我正在制作的应用程序是一个Windows服务,它将每小时检查AD的更改,sizeof是一个nogo,因为微软不希望我知道这个管理对象的大小。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

的HashCode?覆盖Object.GetHashCode属性?

答案 1 :(得分:1)

您可能需要查看DirectorySynchronization课程。使用设置了DirectorySearcher.DirectorySynchronization属性的DirectorySearcher搜索AD时,会生成一个cookie,您可以将其保存到文件或数据库中。在以下类似搜索中使用此cookie将确保DirectorySearcher仅返回两次搜索之间已更改的对象。 IIRC它甚至会告诉你哪些属性已经改变。