Я пытаюсь подключиться и выполнить простые функции, такие как поиск в Active Directory с использованием C #.Тем не менее, я застрял в проблеме.Я использую DirectorySearcher для поиска в каталоге.В каталоге множество записей.
Это функция
void RunThis()
{
DirectoryEntry de = new DirectoryEntry();
de.Path = "LDAP://" + domainName;
de.Username = username;
de.Password = password;
de.AuthenticationType = AuthenticationTypes.Secure;
DirectorySearcher deSearch = new DirectorySearcher(de);
//Skipping properties to load
try
{
deSearch.SearchScope = SearchScope.Subtree;
SearchResultCollection rescoll = deSearch.FindAll();
deSearch.Dispose();
rescoll.Dispose();
}
catch (Exception obj)
{
System.Console.WriteLine("Exception in getting results. {0}",obj.Message);
}
}
de.Dispose();
} // end of function
Это примерная функция, до которой я урезан.Я мог найти много сообщений, в которых говорилось, что вызов dispose явно объекта DirectorySearcher или ResultCollection решит проблему.
Однако я вижу, что память, используемая задачей, постоянно увеличивается.В остальной части кода больше ничего не происходит.Когда я комментирую функцию, использование памяти становится стабильным.
Кто-нибудь еще сталкивался с проблемой и нашел решение?
PS: И выхода нет.Мне нужно найти все: (