0

.netフレームワーク3.5、iis 7.0、Windowsサーバー2008 R2から.netフレームワーク3.5、iis 8.5、Windowsサーバー2012にasp.netアプリケーションを移行しました。 ADが正しく動作していません。いったんアプリケーションプールがリサイクルされると、アプリケーションはいつか動作していません。System.DirectoryServices.DirectorySearcherが「演算処理でオーバーフローが発生しました」というエラーが発生しました

DirectorySearcher.FindOne()またはFindAll()を使用してADを照会することに関連する断続的なエラーが発生しています。エラー

System.OverflowException「算術演算の結果がオーバフロー」原因

System.DirectoryServices.DirectorySearcher:算術演算オーバーフローが生じました。 System.DirectoryServices.SearchResultCollection.ResultsEnumerator.System.Collections.IEnumerator.get_CurrentでSystem.DirectoryServices.SearchResultCollection.ResultsEnumerator.get_CurrentでSystem.DirectoryServices.SearchResultCollection.ResultsEnumerator.GetCurrentResultで () () ()

答えて

0

思えます、ここに記載したのと同じ問題のよう:

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

一つの解決策は、アプリケーションプールがより頻繁に再利用することです。 もう1つ(ソースコードにアクセスできる場合)は、DirectorySearcher.FindXXXメソッドをSystem.DirectoryServices.Protocols名前空間(LdapConnection、SearchRequestなど)のLDAPベースのクラスに置き換えることです。

+0

返信用のdmitry。 –

+0

DirectorySearcher.Findone()の代わりにSystem.DirectoryServices.Protocolsを使用してLdapConnectionを実装する方法を説明できますか? –

+0

次のリンクは、DirectorySearcherに似たLDAPサーチャーを作成する方法を説明しています。http://dunnry.com/blog/2008/06/05/PagedAsynchronousLDAPSearchesRevisited.aspx検索者を必要に応じて同期させるように変更することができます – oldovets

関連する問題