2011-11-10 12 views
9

Qual è un modo efficace di gestire le politiche di limitazione EWS?Gestione delle politiche di limitazione EWS

Sto tentando di leggere tutte le email nella mia casella di posta e di scaricare tutti gli allegati. Il problema che sto riscontrando è che Exchange restituirà spesso un'eccezione dicendo The server cannot service this request right now. Try again later.. Sembra abbastanza auto-esplicativo, devo aver raggiunto il mio limite. Cercando in giro, posso vedere che questo errore è molto probabilmente causato dall'esaminare il tempo che trascorro al minuto lavorando con il CAS. La politica di limitazione sembra essere EWSPercentTimeInCAS.

Poiché posso ricevere solo 1.000 e-mail per query e ho bisogno di eseguire una query per tutte le 57.000 e-mail. Come posso fare questo lavoro?

Si noti che non sto tentando di eludere la politica di limitazione. L'unica idea che mi viene in mente è quella di emettere una dichiarazione Thread.Sleep(30000) ogni volta che recupero 1.000 e-mail (il limite dei miei risultati di ricerca). Non ideale tuttavia dovrebbe funzionare dal momento che il recupero di 1.000 articoli richiede molto meno tempo.

Questo problema sembra derivare dal download degli allegati. La casella di posta ha 7.000 ~ allegati in totale.

+0

Hai fatto ulteriori progressi su questo? – Midas

risposta

6

L'approccio è corretto. Dovrai rallentare il numero di richieste al minuto. Vedi http://blogs.msdn.com/b/mstehle/archive/2010/11/09/ews-best-practices-understand-throttling-policies.aspx per maggiori informazioni su questo argomento.

+1

Grazie per la risposta. Il mio problema era che stavo scaricando gli allegati in background. Con 27.000 thread in background puoi immaginare che non ci vorrà molto per raggiungere il mio limite di throttle. :) – gcso

+2

Esiste un modo semplice per leggere la configurazione della politica di limitazione per EWS? Senza dipendenza da PowerShell o Active Directory? Perché quelli non sono mai accessibili al di fuori della rete. –

+0

@ IvanG. Qualche fortuna ?? – Midas