I seguenti errori intermittenti si riferiscono alle query su AD utilizzando DirectorySearcher.FindOne()
o FindAll()
.System.DirectoryServices.DirectorySearcher che causa errori "Operazione aritmetica ha comportato errori di overflow"
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()
Questo sta accadendo in una web app e sembra succedere dopo che l'app è stata in esecuzione per diverse ore.
Questo è un documented issue su Microsoft Connect ma sembra che sia stato contrassegnato come "non riproducibile" e chiuso.
L'unica correzione che ho trovato here consiste nel riciclare periodicamente il pool di app che è una soluzione piuttosto dura e non praticabile quando gli utenti si trovano nel bel mezzo del lavoro.
Qualcuno ha provato questo e, in caso affermativo, come è stato risolto?
Ho provato ad utilizzare il caching ma questo ritarda solo l'inevitabile fino a quando non si raggiunge una certa soglia in termini di numero di chiamate AD da quando le persone hanno segnalato che ogni volta che la chiamata API viene effettuata è leaks memory.
Qualsiasi aiuto sarebbe molto apprezzato.
Ho esattamente lo stesso problema e sono giunto alla stessa conclusione che Microsoft deve ancora riconoscere questo e fornire una soluzione. L'unico altro bocconcino che posso fornire è il suggerimento di esaminare la tua politica sull'età della password come indicato qui: http://social.technet.microsoft.com/Forums/en-US/scoscip/thread/c8929889-9e7f-427f-bb89 -1464b2c68d49/ –
Il vero problema nel mio caso non era correlato ad AD tanto quanto un problema nel codice di accesso ai dati basato sulla libreria aziendale MS che causava perdite di memoria che a loro volta causavano problemi con l'allocazione della memoria nel codice correlato alla ricerca di annunci. –
Ciò è interessante, poiché non usiamo la libreria aziendale per nulla. Immagino sia possibile che ci sia un'altra perdita di memoria e AD ha solo bisogno di tanta memoria? Puoi dirmi se stavi utilizzando IIS in modalità 64 o 32 bit? –