2013-10-10 4 views
4

Это может быть очень простая проблема, но я пока не нашел ответа. Я использую службы Exchange Web Services в службе Windows для отслеживания новых писем, отправленных на наш сервер Exchange 2010 с подпиской на pull. Он работает отлично и денди, но проблемы в том, что сервер недоступен (например, после отключения питания), затем время ожидания подписки и перезапуск службы Windows. Есть ли способ продлить подписку после тайм-аута или вывести события EvenType.Status?EWS - Продление подписки после таймаута?

Вот мой код до сих пор:

ExchangeService service; 
    PullSubscription subscriptionInbox; 

    private void SetService() 
    { 
     service = new ExchangeService(ExchangeVersion.Exchange2010); 
     service.Url = new Uri("myurl"); 
     service.Credentials = new WebCredentials(emailAddress, pass); 
    } 

    private void SetSubscription() 
    { 
     if (service == null) 
     { 
      SetService(); 
     } 

     subscriptionInbox = service.SubscribeToPullNotifications(
     new FolderId[] { WellKnownFolderName.Inbox }, 
     5, 
     null, 
     EventType.NewMail, EventType.Modified); 
    } 

    private void DoStuff(object sender, EventArgs e) 
    { 
     GetEventsResults eventsInbox = subscriptionInbox.GetEvents(); 
     EmailMessage message; 

     foreach (ItemEvent itemEvent in eventsInbox.ItemEvents) 
     { 
      //Do Stuff 
     } 
    } 

Любые идеи, как я мог бы пойти дальше с этим?

ответ

2

Когда вы теряете подписку, лучше создать новую подписку - и не пытаться восстановить промежуточные данные. Вы можете переадресовать со старым водяным знаком, но это дорого стоит. Эта ссылка предоставляет дополнительный контекст о восстановлении уведомлений, связанных с потерянными абонементами: http://msdn.microsoft.com/en-us/library/office/dn458788(v=exchg.150).aspx#bk_recover. Вы также можете просмотреть этот видеоролик Канала 9, в котором обсуждается восстановление из утерянных подписки: http://channel9.msdn.com/Events/Open-Specifications-Plugfests/Windows-Identity-and-Exchange-Protocols-Plugfest-2012/Exchange-Web-Services-Best-Practices-Part-2.

Смежные вопросы