Je développe une application SharePoint qui nécessite des utilisateurs à partir d'une unité organisationnelle Active Directory Windows Server 2003 spécifiée.Impossible de répondre rapidement à la récupération AD
Premièrement, je ne m'inquiétais pas des opérations 'Dispose' et 'Close' sur les objets DirectoryServices. À ce stade, les opérations de récupération ont été rapides et réussies.
Mais cela provoquait l'erreur 'Le serveur n'est pas opérationnel' après 2 tentatives. Et cette erreur rend l'application entière plus mauvaise, comme l'arrêt d'autres opérations AD.
Ensuite, j'ai corrigé cette erreur en ajoutant des instructions using sur chaque objet DirectoryEntry, DirectorySearcher et SearchResultCollection.
Ensuite, j'ai atteint un point où je n'ai plus l'erreur «Le serveur n'est pas opérationnel». Mais lorsque j'essaie de récupérer des utilisateurs de AD 1 fois ou plus en utilisant la méthode DirectorySearcher.FindAll, le premier fonctionne rapidement et avec succès, les autres plus lentement mais avec succès. Cela prend un peu la durée d'un timeout. Pourriez-vous s'il vous plaît m'aider avec ma situation à propos de ce ralentissement?
Voici l'exemple de code:
using (DirectoryEntry directoryEntry = new DirectoryEntry(connectionString, userName, password))
{
using (DirectorySearcher search = new DirectorySearcher(directoryEntry))
{
search.SearchScope = SearchLevel.OneLevel;
search.ReferralChasing = ReferralChasingOption.All;
search.Filter = filter;
search.SizeLimit = 200;
//Limits the property count for search result
SetUserDirectorySearcherPropertiesToLoad(search);
using (SearchResultCollection result = search.FindAll())
{
foreach (SearchResult searchResult in result)
{
// Get user attributes
}}}}
Merci à l'avance
Existe-t-il des erreurs Schannel dans le journal des événements système? Quelle est la version de AD (2000, 2003 etc)? – DmitryK
AD fonctionne sur 2003. Event Viewer semble bien. –