Dieser Link Ссылка sagt:
Sie können bis zu fünf Benachrichtigungsanforderungen für eine einzelne LDAP-Verbindung registrieren. Sie müssen über einen dedizierten Thread verfügen, der auf die Benachrichtigungen wartet und diese schnell verarbeitet. Wenn Sie die ldap_search_ext-Funktion zum Registrieren einer Benachrichtigungsanforderung aufrufen, gibt die Funktion eine Nachrichtenkennung zurück, die diese Anforderung identifiziert. Anschließend verwenden Sie die Funktion ldap_result, um auf Änderungsbenachrichtigungen zu warten. Wenn eine Änderung auftritt, sendet der Server Ihnen eine LDAP-Nachricht, die die Nachrichtenkennung für die Benachrichtigungsanforderung enthält, die die Benachrichtigung generiert hat. Dies führt dazu, dass die Funktion ldap_result mit Suchergebnissen zurückkehrt, die das geänderte Objekt identifizieren.
Ich kann ein ähnliches Verhalten nicht finden, wenn ich die .NET-Dokumentation durchsuche. Wenn jemand weiß, wie man das in C # macht, wäre ich sehr dankbar, das zu wissen. Ich möchte sehen, wenn sich Attribute für alle Benutzer im System ändern, damit ich benutzerdefinierte Aktionen durchführen kann, je nachdem, was geändert wurde.
Ich habe stackoverflow und andere Quellen ohne Glück durchgesehen.
Danke.
Ich bin mir nicht sicher, ob es das tut, was Sie brauchen, aber sehen Sie sich Ссылка
anBearbeiten: Text und Code aus dem Artikel hinzugefügt:
Es gibt drei Möglichkeiten, Dinge herauszufinden, die sich in Active Directory (oder ADAM) geändert haben. Diese sind seit einiger Zeit bei MSDN in dem treffend betitelten " Überblick über Änderungsverfolgungstechniken" . Zusammenfassend:
In den meisten Fällen habe ich festgestellt, dass DirSync die Rechnung für mich praktisch in jeder Situation erfüllt. Ich habe nie versucht, irgendeine der anderen Techniken zu versuchen. Ein Leser fragte jedoch, ob es eine Möglichkeit gebe, die Änderungsbenachrichtigungen in .NET auszuführen. Ich dachte mir, dass es mit SDS.P möglich war, aber ich habe es nie versucht. Es stellt sich heraus, dass es möglich ist und eigentlich nicht zu schwierig ist.
Mein erster Gedanke beim Schreiben war, die Beispielcode auf MSDN gefunden (und referenziert von Option # 3) und wandle das einfach in System.DirectoryServices.Protocols um. Dies stellte sich als Sackgasse heraus. Die Art, wie Sie es in SDS.P tun und wie der Beispielcode funktioniert, ist so unterschiedlich, dass er nicht hilft. Hier ist die Lösung, die ich gefunden habe:
%Vor%Es ist eine relativ einfache Klasse, mit der Sie Suchanfragen registrieren können. Der Trick besteht darin, die Methode GetPartialResults in der Callback-Methode zu verwenden, um nur die gerade aufgetretene Änderung zu erhalten. Ich habe auch die sehr vereinfachte EventArgs-Klasse hinzugefügt, die ich verwende, um Ergebnisse zurück zu geben. Beachten Sie, dass ich hier nichts threading mache und keine Fehlerbehandlung habe (dies ist nur ein Beispiel). Sie können diese Klasse wie folgt konsumieren:
%Vor%Tags und Links c# active-directory monitor notify