2012-10-10 22 views

Respuesta

8

Hay un límite de 2,147,483,647 ya que su tipo de datos es Int32, Lo usé y también lo probé y no devolvió ningún error si pasamos ItemView (2147483647);

Es solo definir el tamaño de página del elemento de búsqueda, si hay más resultados de búsqueda que el tamaño de página de vista, las llamadas subsiguientes que usan desplazamientos de ItemView se deben realizar para devolver el resto de los resultados.

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

La política predeterminada en Exchange limita el tamaño de página a 1000 elementos. Configurar el tamaño de página a un valor que es mayor que este número no tiene ningún efecto práctico. Las aplicaciones también deben tener en cuenta el hecho de que el valor del parámetro de aceleración EWSFindCountLimit puede dar como resultado que se devuelva un conjunto de resultados parcial para las aplicaciones que realizan solicitudes concurrentes.

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

5

Se puede especificar el valor Int32 en ItemView constructor, pero sólo se le returnd mil elementos. Debe especificar un ciclo para obtener los elementos restantes.

 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

Gracias! Esto me ayudó mucho – Kage

Cuestiones relacionadas