DirectorySearcher.FindOne()
またはを使用した AD のクエリに関連して、次の断続的なエラーが発生し
FindAll()
ます。
System.OverflowException: Arithmetic operation resulted in an overflow.
at System.DirectoryServices.SearchResultCollection.ResultsEnumerator.GetCurrentResult()
at System.DirectoryServices.SearchResultCollection.ResultsEnumerator.get_Current()
at System.DirectoryServices.SearchResultCollection.ResultsEnumerator.System.Collections.IEnumerator.get_Current()
これは Web アプリで発生しており、アプリが数時間実行された後に発生するようです。
これはMicrosoft Connect に関する文書化された問題ですが、 「再現不可能」とマークされてクローズされたようです。
私がここで見つけた唯一の修正は、アプリ プールを定期的にリサイクルすることです。これはかなり厳しい回避策であり、ユーザーが作業中の場合は実行できません。
誰かがこれを経験しましたか?もしそうなら、これはどのように解決されましたか?
私はキャッシュを使用しようとしましたが、これは、API 呼び出しが行われるたびにメモリ リークが発生すると報告されているため、AD 呼び出しの数に関して特定のしきい値に達するまで、避けられないことを遅らせるだけです。
どんな助けでも大歓迎です。