ViewSize
은 생성자 수준에서 지정됩니다. the documentation for the constructor을 찾았지만 최대 크기가 얼마나 클지는 알려지지 않았습니다.EWS에서 ItemView의 최대 크기는 얼마입니까?
6
A
답변
8
데이터 형식이 Int32, 이므로 2,147,483,647로 제한됩니다. ItemView (2147483647)를 전달하면 오류를 반환하지 않으며 테스트도 사용했습니다.
검색 항목의 페이지 크기를 정의한 것 뿐이므로보기 페이지 크기보다 검색 항목 결과가 더 많으면 나머지 결과를 반환하기 위해 이후에 ItemView 오프셋을 사용하는 호출을 수행해야합니다.
심판 - 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
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;
}
}
감사합니다. 이것은 나에게 큰 시간을 도왔다. – Kage