2012-10-10 3 views

답변

8

데이터 형식이 Int32, 이므로 2,147,483,647로 제한됩니다. ItemView (2147483647)를 전달하면 오류를 반환하지 않으며 테스트도 사용했습니다.

검색 항목의 페이지 크기를 정의한 것 뿐이므로보기 페이지 크기보다 검색 항목 결과가 더 많으면 나머지 결과를 반환하기 위해 이후에 ItemView 오프셋을 사용하는 호출을 수행해야합니다.

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

4

Exchange의 기본 정책 1000 개 항목 페이지 크기를 제한합니다. 페이지 크기를이 값보다 큰 값으로 설정하면 실제로 적용되지 않습니다. 또한 응용 프로그램은 EWSFindCountLimit 조절 매개 변수 값으로 인해 동시 요청을하는 응용 프로그램에 대해 부분 결과 집합이 반환 될 수 있다는 사실을 고려해야합니다.

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

5

당신은 ItemView 생성자 Int32 값을 지정할 수 있습니다 만 천 항목 returnd됩니다. 나머지 항목을 얻으려면 루프를 지정해야합니다.

 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

감사합니다. 이것은 나에게 큰 시간을 도왔다. – Kage