2012-10-10 23 views

risposta

8

C'è un limite di 2.147.483.647 dato che il suo tipo di dati è Int32, L'ho usato e anche testato non restituisce alcun errore se passiamo ItemView (2147483647);

Definisce semplicemente la dimensione della pagina dell'elemento di ricerca, se vi sono più risultati di ricerca rispetto alla dimensione della pagina di visualizzazione, le chiamate successive che utilizzano gli offset di ItemView devono essere eseguite per restituire il resto dei risultati.

ref - http://msdn.microsoft.com/en-us/library/exchange/dd633693%28v=exchg.80%29.aspx http://msdn.microsoft.com/en-us/library/system.int32.maxvalue.aspx

4

Il criterio predefinito in Exchange limita la dimensione della pagina a 1000 voci. L'impostazione delle dimensioni della pagina su un valore maggiore di questo numero non ha alcun effetto pratico. Le applicazioni dovrebbero anche tenere conto del fatto che il valore del parametro di limitazione EWSFindCountLimit potrebbe causare il ritorno di un set di risultati parziale per le applicazioni che effettuano richieste simultanee.

http://msdn.microsoft.com/en-us/library/office/jj945066(v=exchg.150).aspx

5

È possibile specificare il valore Int32 nel costruttore ItemView ma solo mille articoli saranno returnd. Devi specificare un ciclo per ottenere gli oggetti rimanenti.

 bool more = true; 
     ItemView view = new ItemView(int.MaxValue, 0, OffsetBasePoint.Beginning); 
     view.PropertySet = PropertySet.IdOnly; 
     FindItemsResults<Item> findResults; 
     List<EmailMessage> emails = new List<EmailMessage>(); 
     while (more) 
     { 
      findResults = service.FindItems(WellKnownFolderName.Inbox, view); 
      foreach (var item in findResults.Items) 
      { 
       emails.Add((EmailMessage)item); 
      } 
      more = findResults.MoreAvailable; 
      if (more) 
      { 
       view.Offset += 1000; 
      } 
     } 
+0

Grazie !! Questo mi ha aiutato molto – Kage

Problemi correlati