Работа с политиками регулирования EWS

#c# #exchange-server #exchangewebservices

#c# #exchange-сервер #exchangewebservices

Вопрос:

Каков эффективный способ работы с политиками регулирования EWS?

Я пытаюсь прочитать каждое электронное письмо в своем почтовом ящике, а также загрузить все вложения. Проблема, с которой я сталкиваюсь, заключается в том, что Exchange часто возвращает исключение со словами The server cannot service this request right now. Try again later. . Кажется довольно понятным, должно быть, я достиг своего предела. Поискав вокруг, я вижу, что эта ошибка, скорее всего, вызвана превышением количества времени, которое я трачу в минуту на работу с центрами сертификации. Политика регулирования, по-видимому, EWSPercentTimeInCAS .

Поскольку я могу получать только 1000 электронных писем за запрос, и мне нужно запросить все 57 000 ~ электронных писем. Как я могу заставить это работать?

Обратите внимание, что я не пытаюсь обойти политику регулирования. Единственная идея, которая приходит на ум, — это выдавать Thread.Sleep(30000) инструкцию каждый раз, когда я получаю 1000 электронных писем (мой лимит результатов поиска). Не идеально, однако должно работать, поскольку выборка 1000 элементов занимает гораздо меньше времени.

Похоже, эта проблема связана с загрузкой вложений. В почтовом ящике всего около 7000 вложений.

Комментарии:

1. Вы добились еще какого-нибудь прогресса в этом?

Ответ №1:

Ваш подход правильный. Вам нужно будет снизить количество запросов в минуту. Смотрите http://blogs.msdn.com/b/mstehle/archive/2010/11/09/ews-best-practices-understand-throttling-policies.aspx для получения дополнительной информации по этой теме.

Комментарии:

1. Спасибо за ответ. Моя проблема заключалась в том, что я загружал вложения в фоновом режиме. С 27 000 ~ потоками в фоновом режиме вы можете представить, что не потребуется много времени, чтобы достичь моего предела регулирования. 🙂

2. Есть ли какой-нибудь простой способ прочитать конфигурацию политики регулирования для EWS? Без зависимости от PowerShell или Active Directory? Потому что они никогда не доступны за пределами сети.

3. @IvanG. Есть успехи??

4. Связанная страница была перемещена / удалена. Вот обновленная ссылка .