Почтовая Программа Exchange
Операция EWS Метод управляемого API EWS Область синхронизации, которая происходит отличается в зависимости от того, будет ли это начальные и текущие синхронизации, как показано ниже:. Начальная синхронизация синхронизирует все папках или элементов на сервере для клиента. После первоначальной синхронизации клиент имеет состояние синхронизации, в которой хранятся для последующие синхронизации. Состояние синхронизации представляет все изменения на сервере, на сервере передан клиенту.
Почтовые клиенты на любой вкус. Большинство пользователей сегодня отдают предпочтение. Ш татный почтовый клиент Windows 10. Сервис корпоративной почты Microsoft Exchange. А меня пользователи достали после перехода на централизованный Exchange+Outlook 2003/2007 с Thunderbird. Все остальные почтовые программы могут только загромождать письма графикой.
Постоянная синхронизация синхронизировать все элементы или папки, которые были добавлены, удалены или изменены с момента предыдущей синхронизации. Состояние синхронизации используется сервером для расчета изменения сообщение о клиенту во время каждого из циклов текущей синхронизации. Каждый метод синхронизации или операции возвращает список изменений, не фактический папки или сообщения, которые изменены.
Сообщает изменения элементов и папок с помощью следующие типы изменений:. Создание — Указывает, что новый элемент или папки должен быть создан на стороне клиента. Обновление — Указывает, что элемент или папку, должны изменяться на стороне клиента.
DELETE — Указывает, что следует удалить элемент или папку на стороне клиента. ReadStateChange для веб-служб Exchange или ReadFlagChange для управляемого API EWS — указывает, что состояние чтения элемента стала теперь областью, либо из непрочитанные сообщения на чтение или чтение непрочитанные сообщения. В Exchange Online, Exchange Online как часть Office 365 и версии Exchange, начиная с Exchange 2010 SP2 элементов и папок возвращаются в порядке от новых к старым.
В предыдущих версиях Exchange элементов и папок возвращаются от более ранних к более поздним. Можно использовать один из двух шаблоны проектирования синхронизации в приложении обновлять ваши почтовые ящики: синхронизации на основе уведомлений или подход только для синхронизации. Синхронизации на основе уведомлений, как показано на использует уведомления для оповещения клиента, чтобы вызвать методы управляемый API EWS или или веб-служб Exchange или операций. Этот тип синхронизации обычно рекомендуется использовать для масштабирования приложений, но может быть лучший подход для всех пользователей.
На основе уведомлений синхронизации имеет следующие преимущества:. Уведомления о оптимизированных для уменьшения вызовов в серверной базе данных Exchange. События очереди и подписок управляются с сервера почтовых ящиков (или сервера клиентского доступа в Exchange 2010 и Exchange 2007); Тем не менее управление событий и подписок использует меньше ресурсов, чем вариант, который является более частое синхронизации обращений к базе данных Exchange.
Кроме того Exchange имеет определенные для уведомлений и подписки, для защиты потребления ресурсов. Тем не менее существует также несколько недостатков с помощью синхронизации на основе уведомлений. Уведомления о являются помехами, так как для большинства вариантов включать несколько уведомлений для одного пользователя цель. Инструкция по сборке двухъярусной кровати омега 4. Это особенно важно папки календаря. Например при получении одного приглашения на собрание несколько уведомлений элемента и папки создаются, включая уведомления для создания элемента, а другой для изменения элемента. Одним из способов устранения этой недостаток – Создание задержка несколько секунд в, или звонков. В случае приглашения на собрание Если вы внесли вызовов операции GetItem немедленно, может иметь один вызов для создания элемента, а другой для изменения элемента.
Вместо этого с задержки звонка, можно вызвать операцию GetItem один раз и проводить изменения, которые охватывают создания и изменения элемента в то же время. Уведомления в очереди на сервере почтовых ящиков и подписки будут сохранены на сервере почтовых ящиков.
В случае недоступности сервера почтовых ящиков, который управляет подписки теряется никаких уведомлений о новых, ваш почтовый ящик не синхронизировать и потребуется повторная уведомления. Вам потребуется Планирование стратегии устранения в случае, если уведомления с ошибкой. Таким образом, второй способ шаблон проектирования только для синхронизации, устойчива более чем синхронизации на основе уведомлений, из-за только что клиент поддержка состояния синхронизации — отсутствуют проблемы с сходства на сервер почтовых ящиков, Управление подпиской. Если реализован в соответствии с рекомендациями, шаблон проектирования подписки на основе уведомлений зависит от:. Уведомления о определить, Когда данные изменены. Управляемый API EWS SyncFolderHierarchy или SyncFolderItems методов или SyncFolderHierarchy или SyncFolderItems операций веб-служб Exchange, чтобы определить, какие изменяется, оптимизация число возвращаемых событий синхронизации. Был элемент создан, обновлении или удалении?
Это все, необходимо знать из этих методов, не используйте их для свойства список изменений. (Не на все элементы или папки возвращаемых вызов GetItem или LoadPropertiesForItems ). С помощью методов Load или LoadPropertiesForItems в управляемый API EWS или веб-служб Exchange GetItem изменяли операции, чтобы определить, как данные и для получения свойств с сервера, при необходимости, организация пакетные запросы на основе объема данных, будут возвращены. Это следует сравнение свойств в клиенте и на их только что возвращенный с сервера и в конечном счете создания, удаления или изменения элемента или папки на стороне клиента.
Синхронизация подхода полностью зависит от SyncFolderItems и методы управляемый API EWS SyncFolderHierarchy или SyncFolderHierarchy или SyncFolderItems операций веб-служб Exchange, на которых можно вызвать постоянно или в качестве запланированного задания. Существует, преимущества и недостатки для этого параметра также. Только для синхронизации подход устойчивости, так как состояние синхронизации хранится на стороне клиента на уровне почтового ящика и отношения между состояние синхронизации и любого сервера почтовых ящиков, который поддерживает подписки на уведомления не требуется.
Подход синхронизации способное перемещения почтовых ящиков из-за его независимости от сервера почтовых ящиков. Тем не менее, подход синхронизации увеличивает задержку для пользователя, так как синхронизации элементов на основе времени или временная — не в режиме реального времени при получении сообщения.
Такой подход также дороже, так как вы выполняете обращений к базе данных Exchange по возможности, что изменений внесено не было. Для приложений, хорошо масштабируемое рекомендуется выполнить следующие рекомендации для синхронизации почтовых ящиков в приложении:. При вызове метода управляемый API EWS SyncFolderItems или SyncFolderHierarchy используйте IdOnly значение для параметра propertySet или при использовании веб-служб Exchange SyncFolderHierarchy или SyncFolderItems операций используйте значение IdOnly для значения, чтобы уменьшить обращений к базе данных Exchange. Дополнительные свойства, которые вы запрашиваете в наборе свойств SyncFolderItems или SyncFolderHierarchy звонков, создаются дополнительные вызовы базы данных. Новый вызов RPC выполняется для каждого запроса, значения свойств в то время как только один вызов RPC выполняется для извлечения всех ItemIds для запроса — независимо от того, количество результатов для отчета. Поэтому запрос IdOnly приводит к вызова одной базы данных, тогда как запрос контейнер свойств темы и отправителя приводит к три обращений к базе данных: один для Subject, другая — для Sender, а другая — для ItemId. Не вызвать управляемый API EWS Load или методы LoadPropertiesForItems или GetItem или GetFolder операции EWS, на всех элементов в ответ синхронизации.
Вместо этого анализа результатов; как искать изменения, которые не требуют все свойства, которые нужно извлечь, прочитайте изменения состояния. Если ответ содержит изменить состояние чтения, просто обновить флаг на стороне клиента и завершения; не требуется, чтобы получить все свойства элемента.
И убедитесь в том, что не дублируется усилий при внесении изменений, которые исходит от одного клиента. Например если ответа синхронизации включает в себя удаления элемента и удаление произошло в локальном клиенте, не требуется удалить сообщение еще раз или получить все свойства для этого элемента. Избегайте начало ограничением, выполнив следующие:.
При вызове метода LoadPropertiesForItems управляемый API EWS или операции GetItem веб-служб Exchange для получения элементов в пакете, не пакета слишком большого числа элементов в запросе; в противном случае вы получаете. Рекомендуется включить 10 элементов в пакете.
Не выполнение слишком большого числа запросов в слишком короткое время. Это будет также привести к регулирования и к увеличению времени ответа, а не Сократите его. Если группировка элементов, пакетного все элементы, имеющие те же значения для атрибутов Id и ChangeKey элемент. Если вы получите ограничением, остановите отправлять запросы. Повторная отправка запросов будет продолжить восстановление усилий. Вместо этого пассивный истечения времени ожидания, а затем повторите попытку отправки запросов к синхронизации.
В зависимости от типа получено:. Для событий NewMail или Modified вызовите метод SyncFolderItems управляемый API EWS или SyncFolderItems операции EWS, так как уведомления не предоставляют ChangeKeyи уведомления не указывают состояние чтения изменения.
Для события Deleted Если подписки на уведомления было активной до предыдущей синхронизации, просто удалите события локально. Вызовите метод SyncFolderItems управляемый API EWS или операции EWS SyncFolderItems сразу же после удаления не требуется. Если изменить состояние чтения вызвана Modified события, не вызовите метод LoadPropertiesForItems управляемый API EWS или GetItem операции EWS, замените флаг для элемента.
При синхронизации данных календаря, выполните следующие действия:. Используйте подобного синхронизации на основе уведомлений. Так как SyncFolderItem не содержит логику календаря, используйте метод управляемый API EWS или веб-служб Exchange с помощью элемента для просмотра встреч между двумя датами, а затем вызвать метод LoadPropertiesForItems управляемый API EWS или операция GetItem веб-служб Exchange для получения свойств элемента для элемента календаря.
Не опроса с помощью метода FindAppointments управляемый API EWS или операция FindItem веб-служб Exchange с помощью элемента CalendarView. При синхронизации папки поиска:. Используйте подобного синхронизации на основе уведомлений. Использование уведомлений о для определения при изменении данных.
Так как SyncFolderItem нельзя использовать в папке поиска, используйте метод управляемый API EWS сортировки и выгружаемый или операции EWS в FindItem с элемент set и для определения того, что было изменено. Используйте метод LoadPropertiesForItems управляемый API EWS или операции GetItem веб-служб Exchange для извлечения данных.
Метод SyncFolderItems управляемый API EWS и операции EWS в SyncFolderItems позволяют игнорировать определенные элементы, на основании их что ItemID, установив параметр ignoreItemIds в управляемый API EWS или элемент в веб-служб Exchange. Идеально подходит, например, для отдельных пользователей приступить к ответить всем полученного сообщения электронной почты для всех сотрудников компании. Может возникнуть вопрос, можно ли фильтрации личных уведомлений (и поэтому запуск синхронизации) при изменении определенных свойств?
Несмотря на то, что кажется приемлемой, так как подписки на уведомления о основаны на тип изменения (Создание, обновление, удаление), и не свойство обновляется, вам не удается применить фильтр уведомлений таким образом. Вместо этого можно сделать следующее:. Используйте шаблон проектирования подписки на основе уведомлений. Несколько раз вызовите методы SyncFolderItems и SyncFolderHierarchy управляемый API веб-служб Exchange с параметром propertySet, установите значение IdOnly, чтобы сделать текущего состояния синхронизации.
Или при использовании веб-служб Exchange, вызовите операции SyncFolderHierarchy и SyncFolderItems несколько раз с BaseShape значение IdOnly. Отменить ответа (не его обработки или выполните любое сравнение свойств). Используйте метод FindItems управляемый API EWS или операции EWS в FindItem и сортировка и страницы для предварительного заполнения элементов в отфильтрованные области, который требуется.
Почтовая Программа Exchange
Состояние синхронизации используется для продолжения вызовите метод SyncFolderItems управляемый API EWS или SyncFolderItems операции EWS, но только отслеживать изменения в наборе отфильтрованные элемента. Если создаются новые элементы, вам придется являются ли эти новые элементы в пределах отфильтрованные области.