Административный предел, превышенный во время поиска C# LDAP

Я пытаюсь сделать Поиск LDAP однако, я продолжаю получать следующую ошибку:

Unhandled Exception: System.Runtime.InteropServices.COMException (0x80072024): T
he administrative limit for this request was exceeded.

   at System.DirectoryServices.SearchResultCollection.ResultsEnumerator.MoveNext
()
   at System.DirectoryServices.DirectorySearcher.FindOne()

Вот код: (Ошибка брошена в FindOne ()),

        DirectoryEntry dirEntry = new DirectoryEntry("LDAP://myldap.com:1701/ou=People,o=My Company,c=CA", "", "", AuthenticationTypes.Anonymous);
        DirectorySearcher dirSearcher = new DirectorySearcher(dirEntry);

        string filter = "mail";
        string filterValue = "my.email@mycompany.com";

        dirSearcher.Filter = string.Format("({0}={1})", filter, filterValue);

        SortOption sortOption = new SortOption(filter, SortDirection.Ascending);

        dirSearcher.Sort = sortOption;
        dirSearcher.PropertiesToLoad.Add("uid");
        dirSearcher.SearchScope = SearchScope.Subtree;

        SearchResult result = dirSearcher.FindOne();

        DirectoryEntry directEntry = result.GetDirectoryEntry();
        Console.WriteLine("Result: {0}", directEntry.Properties["uid"].Value.ToString());

Какие-либо идеи, как обойти это?

1
задан marc_s 8 July 2010 в 15:50
поделиться

2 ответа

Убрал эту строку и все работает:

dirSearcher.PropertiesToLoad.Add("uid");

Должно быть, UID берется из каждого результата, а не только из совпадающего результата, и поэтому превышается лимит администратора.

1
ответ дан 2 September 2019 в 23:12
поделиться

Многие реализации LDAP серверов имеют ограничения на количество результатов, возвращаемых в запросе.

В AD по умолчанию 1000 или 2000. Я забыл. eDirectory по умолчанию не имеет ограничений. Другие варьируются.

Вы можете либо попросить администраторов изменить лимит, либо изменить свой код так, чтобы он получал только страницу (или ограниченное количество результатов) за раз.

1
ответ дан 2 September 2019 в 23:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: