0

, мы перенесли приложение asp.net из .net framework 3.5, iis 7.0, Windows Server 2008 R2 в .net framework 3.5, iis 8.5, Windows Server 2012 AD не работает должным образом. после перезапуска приложения, приложение работает после того, как оно не работает.System.DirectoryServices.DirectorySearcher, вызвавший ошибки «Арифметическая операция при переполнении»

Я получаю следующие прерывистые ошибки, связанные с запросом AD, используя DirectorySearcher.FindOne() или FindAll().

System.DirectoryServices.DirectorySearcher вызывая «Арифметические операции привело к переполнению» ошибки

System.OverflowException: Арифметические операции привело к переполнению. на System.DirectoryServices.SearchResultCollection.ResultsEnumerator.GetCurrentResult() в System.DirectoryServices.SearchResultCollection.ResultsEnumerator.get_Current() в System.DirectoryServices.SearchResultCollection.ResultsEnumerator.System.Collections.IEnumerator.get_Current()

ответ

0

кажется , как тот же вопрос, как описано здесь:

System.DirectoryServices.DirectorySearcher causing "Arithmetic operation resulted in overflow" errors

Одно из решений заключается в переработке приложение бассейн чаще. Другой (если у вас есть доступ к исходному коду) заключается в замене методов DirectorySearcher.FindXXX на классы на основе LDAP из пространства имен System.DirectoryServices.Protocols (LdapConnection, SearchRequest и т. Д.)

+0

спасибо за ответ dmitry. –

+0

Можете ли вы объяснить, как я могу реализовать LdapConnection, используя System.DirectoryServices.Protocols вместо DirectorySearcher.Findone()? –

+0

Следующая ссылка объясняет, как создать поисковик LDAP, аналогичный DirectorySearcher: http://dunnry.com/blog/2008/06/05/PagedAsynchronousLDAPSearchesRevisited.aspx. Вы можете изменить поисковика, чтобы работать синхронно, если необходимо – oldovets

Смежные вопросы