2016-03-28 6 views
3

Ich verwende .Net-Kontoverwaltungsbibliotheken, um auf Active Directory zuzugreifen, um die Details des aktuellen http-Anforderungsbenutzers zu durchsuchen. Mein App-Pool wird mit einem benutzerdefinierten Konto und auch von derselben Domäne ausgeführt. Server und Benutzer gehören ebenfalls zur gleichen Domäne.Unterbrochener unbekannter Fehler von Active Directory

public string GetEmployeeId(string SAMAccountName) 
{ 
using (PrincipalContext domainContext = new PrincipalContext(ContextType.Domain)) 
{ 
using (UserPrincipal userprincipal = new UserPrincipal(domainContext)) 
{ 
userprincipal.SamAccountName = SAMAccountName; 
using (PrincipalSearcher ps = new PrincipalSearcher()) 
{ 
ps.QueryFilter = userprincipal; 
UserPrincipal user = ps.FindOne() as UserPrincipal; 
return user.EmployeeId; 
} 
} 
} 
} 

-Setup funktioniert perfekt aber intermittierend i von AD.after unten Fehler bekommen irgendwann funktioniert es für die gleichen Benutzer ohne Fehler.

Gibt es eine Möglichkeit, Protokolle/Ereignisse von der AD-Seite zu überprüfen, um den Grund für diesen Fehler zu finden.

System.Runtime.InteropServices.COMException (0x80005000): Unbekannter Fehler> (0x80005000)

+0

https://support.microsoft.com/en-gb/kb/324433 – Ashigore

+0

Danke für den Kommentar, Sir. Aber wie ich verstanden habe, ist dieses Serverproblem im Jahr 2000 und unsere Version ist 2012. –

+0

Ich habe das gleiche Problem, aber es passiert nicht sofort. Und sobald es passiert, bleibt es so, bis ich manuell den App Pool recycle. – icedek

Antwort

-1

Versuchen Sie herauszufinden, welche Domain-Server, den Sie verwenden:

Etwas wie: = new Principal (ContextType.Domain, "YOURADDOMAIN");

+0

Danke für die Antwort Sir. Meine Server-, App-Pool- und Client-Benutzer stammen alle aus derselben Domäne. Dieser Code funktioniert, aber manchmal erhalten Clients diesen Fehler und später funktioniert es perfekt für die gleichen Clients. Ich denke, dass dieser Fehler von AD-Seite ist. –