2012-10-10 35 views

Trả lời

8

Có giới hạn 2.147.483.647 vì loại dữ liệu của nó là Int32, Tôi đã sử dụng nó và cũng đã thử nghiệm không trả lại bất kỳ lỗi nào nếu chúng tôi vượt qua ItemView (2147483647);

Nó chỉ xác định kích thước trang của mục tìm kiếm, nếu có nhiều kết quả mục tìm kiếm hơn kích thước trang xem, các lệnh gọi tiếp theo sử dụng bù nhìn ItemView phải được thực hiện để trả về phần còn lại của kết quả.

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

Các chính sách mặc định trong Exchange giới hạn kích thước trang đến 1000 mặt hàng. Đặt kích thước trang thành một giá trị lớn hơn số này không có hiệu quả thực tế. Các ứng dụng cũng nên tính đến thực tế rằng giá trị tham số điều chỉnh EWSFindCountLimit có thể dẫn đến một bộ kết quả một phần được trả về cho các ứng dụng thực hiện các yêu cầu đồng thời.

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

5

Bạn có thể chỉ định giá trị Int32 trong ItemView constructor nhưng chỉ ngàn mặt hàng sẽ được returnd. Bạn phải chỉ định một vòng lặp để nhận các mục còn lại.

 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

Cảm ơn bạn !! Điều này đã giúp tôi rất nhiều thời gian – Kage

Các vấn đề liên quan