В настоящее время я использую управляемый API EWS для подписки пользователей на Pull Notification на сервере Exchange 2010 для получения уведомлений об элементах календаря, и он работает нормально. Как я это сделал, я извлек список пользователей с их электронной почтой из базы данных SQL, а затем перебрал каждого из них и назначил каждому из них Pull Notification, используя SubscribeToPullNotifications()
, а затем GetEvents()
. Я подписываюсь на события Created
, Modified
и Deleted
в папке Календарь.
Я думаю, что это будет другой лучший способ получить все уведомления от сервера Exchange, кроме зацикливания каждого пользователя по одному, потому что в любой момент времени не все пользователи имеют уведомления, только пользователь, где они создают, обновляют или удаляют элементы в их календаре в MS Outlook будут вызывать событие с сервера Exchange.
Например, 200 пользователей извлекаются из базы данных SQL, но только 10 из них создают новые встречи в MS Outlook, но поскольку я зацикливаю каждого из них, мне нужно 200 зацикливаний, чтобы получить 10 уведомлений от этого 10 пользователей.
Есть ли способ получать все уведомления от сервера Exchange одновременно в любое время, чтобы не было необходимости циклически перебирать всех пользователей, чтобы узнать, происходит ли какое-либо событие с сервера Exchange? Я знаю, может быть, было бы лучше использовать Push или Streaming Notification, но я хотел бы знать, есть ли лучший способ сделать это с помощью Pull Notification?
Спасибо.