EWS: поиск в теле письма только ответы 250 результатов - PullRequest
0 голосов
/ 21 сентября 2018

У меня сейчас проблема с веб-сервисом exchange в C #.Я пытаюсь перебрать письма старше 3 месяцев, но получаю только 250 писем.В папке более 80 000 писем, так что это неправильный счет.

После поиска проблемы я теперь знаю, что сервис дает мне только 250 результатов на страницу.Но TotalCount тоже равен 250, поэтому я не могу работать с подкачкой, потому что второй страницы нет.Без фильтра тела это работает, и я возвращаюсь как 70.000 писем, что правильно.Кто-нибудь имел такую ​​же проблему и может мне помочь?

В настоящее время программа просто использует 2 фильтра с оператором SearchFilter And и упорядочивает результат по возрастанию.Вот мой текущий код для получения писем:

Folder folder; // folder from loop
DateTime dateStart; // = today - 3 months

SearchFilter.SearchFilterCollection filter = new SearchFilter.SearchFilterCollection(LogicalOperator.And);
filter.Add(new SearchFilter.IsLessThanOrEqualTo(EmailMessageSchema.DateTimeReceived, dateStart));
filter.Add(new SearchFilter.ContainsSubstring(ItemSchema.Body, "test"));

ItemView view = new ItemView(1000, 0, OffsetBasePoint.Beginning);
// Get oldest first
view.PropertySet = new PropertySet(BasePropertySet.IdOnly, ItemSchema.DateTimeReceived);
view.OrderBy.Add(ItemSchema.DateTimeReceived, SortDirection.Ascending);
view.Traversal = ItemTraversal.Shallow;

FindItemsResults<Item> findResults = exchangeService.FindItems(folder.Id, filter, view);

findResults.TotalCount() // = 250

Я был бы рад решению, спасибо за помощь:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...