EWS订阅正在丢失,intermittently.It抛出以下两个错误。
Microsoft.Exchange.WebServices.Data.ServiceResponseException:邮箱数据库暂时不可用。无法打开邮箱/o=ExchangeLabs/ou=管理组
Microsoft.Exchange.WebServices.Data.ServiceResponseException:错误2请求失败,因为无法就此请求与适当的服务器联系。( 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 exchange服务。
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);任何帮助都将不胜感激。
发布于 2017-05-01 02:35:01
错误1
这是正常的,它的短暂性,将发生在后端服务器服务(如应用补丁)和邮箱在后端移动,因为负载平衡和其他操作原因。您的客户端应该捕获并重试或在必要时重新创建(例如,如果邮箱在服务器或数据中心之间移动,通常意味着订阅不再有效,需要重新创建)。
误差2
很可能是因为错误1中的相同问题,例如邮箱可能已经被移动到另一个数据中心,因为主服务器正在升级等等。如果您使用关联https://msdn.microsoft.com/en-us/library/office/dn458789(v=exchg.150).aspx,您需要重新发现邮箱现在关联的组(这很可能已经改变),并为该组中的邮箱创建一个新的订阅。
https://stackoverflow.com/questions/43686584
复制相似问题