System.DirectoryServices.DirectorySearcher, das eine arithmetische Operation verursacht, hat zu einem Überlauf geführt

Ich erhalte die folgenden zeitweise auftretenden Fehler im Zusammenhang mit der Abfrage von AD mithilfe vonDirectorySearcher.FindOne() oderFindAll().

<code>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()
</code>

Dies geschieht in einer Web-App und scheint zu geschehen, nachdem die App mehrere Stunden lang ausgeführt wurde.

Das ist eindokumentierte Ausgabe auf Microsoft Connect, aber es sieht aus wie es als "nicht reproduzierbar" markiert und geschlossen wurde.

Das einzige Update, das ich gefunden habeHier Der App-Pool sollte regelmäßig wiederverwendet werden. Dies ist eine harte Problemumgehung und nicht praktikabel, wenn Ihre Benutzer gerade arbeiten.

Hat jemand dies erlebt und wenn ja, wie wurde dies behoben?

Ich habe versucht, Caching zu verwenden, aber dies verzögert das Unvermeidliche nur, bis Sie einen bestimmten Schwellenwert in Bezug auf die Anzahl der AD-Aufrufe erreicht haben, da die Leute gemeldet haben, dass jedes Mal, wenn der API-Aufruf erfolgtverliert Speicher.

Jede Hilfe wäre sehr dankbar.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage