Это может быть очень простая проблема, но я пока не нашел ответа. Я использую службы 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
}
}
Любые идеи, как я мог бы пойти дальше с этим?