请求失败,因为 EWS 无法为此请求联系适当的 CAS 服务器

Sav*_*tel 3 c# exchangewebservices office365

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.MultiResponseServiceRequest 1.Execute() at Microsoft.Exchange.WebServices.Data.ExchangeService.SubscribeToStreamingNotifications(IEnumerable1 文件夹 ID、EventType[] 事件类型)

我使用过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");
Run Code Online (Sandbox Code Playgroud)

以下是添加订阅的方法。

 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);
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。

Gle*_*les 5

错误1

这是正常现象,它是短暂的,并且会在后端服务器得到服务(例如应用补丁)并且出于负载平衡和其他操作原因在后端移动邮箱时发生。您的客户端应该捕获并在必要时重试或重新创建(例如,如果邮箱在服务器或数据中心之间移动,通常意味着订阅不再有效并且需要重新创建)。

错误2

最有可能的是由于错误 1 ​​中的相同问题,例如邮箱可能已移动到另一个数据中心,因为主服务器中的服务器正在升级等。如果您使用关联性https://msdn.microsoft.com/en-us/ Library/office/dn458789(v=exchg.150).aspx您需要重新发现邮箱现在关联的组(很可能已更改)并为该组中的该邮箱创建新的订阅。