【发布时间】:2017-09-26 22:46:26
【问题描述】:
EWS 订阅间歇性丢失。它会引发以下两个错误。
错误 1 Microsoft.Exchange.WebServices.Data.ServiceResponseException: 邮箱数据库暂时不可用。,无法打开邮箱 /o=ExchangeLabs/ou=Exchange 管理组
错误 2
Microsoft.Exchange.WebServices.Data.ServiceResponseException:请求失败,因为 EWS 无法为此请求联系相应的 CAS 服务器。
在 Microsoft.Exchange.WebServices.Data.ServiceRequestBase.ProcessWebException(WebException webException)
在 Microsoft.Exchange.WebServices.Data.ServiceRequestBase.GetEwsHttpWebResponse(IEwsHttpWebRequest 请求)
在 Microsoft.Exchange.WebServices.Data.ServiceRequestBase.ValidateAndEmitRequest(IEwsHttpWebRequest& 请求)
在 Microsoft.Exchange.WebServices.Data.MultiResponseServiceRequest1.Execute()
at Microsoft.Exchange.WebServices.Data.ExchangeService.SubscribeToStreamingNotifications(IEnumerable1 folderIds, EventType[] eventTypes)
我使用过 Exchange 2013 交换服务。
ExchangeService exchange = new ExchangeService(ExchangeVersion.Exchange2013);
exchange.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, _primaryMailbox);
exchange.HttpHeaders.Add("X-AnchorMailbox", _primaryMailbox);
exchange.HttpHeaders.Add("X-PreferServerAffinity", "true");
下面是添加订阅的方法。
ExchangeService exchange = group.ExchangeService;
exchange.Credentials = new WebCredentials(BCCSettings.ImpersonatedUsername, BCCSettings.ImpersonatedPassword);
exchange.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, mailbox);
subscription = exchange.SubscribeToStreamingNotifications(PreparFolders().ToArray(), EventType.NewMail, EventType.Moved);
任何帮助将不胜感激。
【问题讨论】:
标签: c# office365 exchangewebservices