C# EWS-在超时后续订?
这可能是一个非常基本的问题,但我还没有找到任何答案。我正在Windows服务中使用Exchange Web服务监视通过请求订阅发送到Exchange 2010服务器的新邮件。它工作得很好,但问题是如果服务器不可用(例如断电后),那么订阅超时,需要重新启动Windows服务。有没有办法在超时后续订,或者提取EventType.Status事件 以下是我目前的代码:C# EWS-在超时后续订?,c#,exchangewebservices,exchange-server-2010,C#,Exchangewebservices,Exchange Server 2010,这可能是一个非常基本的问题,但我还没有找到任何答案。我正在Windows服务中使用Exchange Web服务监视通过请求订阅发送到Exchange 2010服务器的新邮件。它工作得很好,但问题是如果服务器不可用(例如断电后),那么订阅超时,需要重新启动Windows服务。有没有办法在超时后续订,或者提取EventType.Status事件 以下是我目前的代码: ExchangeService service; PullSubscription subscriptionInbox
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
}
}
你知道我该怎么做吗?当你丢失订阅时,最好创建一个新的订阅,而不要试图恢复临时数据。您可以使用旧水印重新订阅,但成本过高。此链接提供了有关恢复与丢失订阅相关的通知的其他上下文:。您可能还想观看此第9频道视频,其中讨论从丢失的订阅中恢复: