我尝试获得超过1000个联系人,并且我有超过10000个,而且Microsoft EWS只允许我获得1000个项目(联系人)。 ContactsFolder contactsFolder = ContactsFolder.Bind(this.service,WellKnownFolderName.Contacts,new PropertySet(BasePropertySet.IdOnly,FolderSchema.TotalCount));
ItemView view = new ItemView(contactsFolder.TotalCount);
//ItemView view = new ItemView(1000,0,OffsetBasePoint.Beginning+1);
service.TraceEnabled = false;
FindItemsResults<Item> fiResults = null;
do
{
fiResults = service.FindItems(WellKnownFolderName.Contacts, view);
PropertySet itItemPropSet = new PropertySet(BasePropertySet.IdOnly,
ContactSchema.GivenName,
ContactSchema.Surname,
ContactSchema.AssistantPhone,
ContactSchema.BusinessPhone,
ContactSchema.BusinessPhone2,
ContactSchema.CarPhone,
ContactSchema.CompanyMainPhone,
ContactSchema.HomePhone,
ContactSchema.HomePhone2,
ContactSchema.MobilePhone,
ContactSchema.OtherTelephone,
ContactSchema.Pager,
ContactSchema.PrimaryPhone,
ContactSchema.CompanyName,
ContactSchema.BusinessFax,
ContactSchema.Id);
view.Offset += fiResults.Items.Count;
} while (fiResults.MoreAvailable == true);
答案 0 :(得分:1)
使用偏移量获取更多项目。微软有一篇文章如何做到这一点,我甚至在你的代码中看到了一个注释部分。 http://msdn.microsoft.com/en-us/library/exchange/dd633698(v=exchg.80).aspx