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)
任何帮助,将不胜感激。
错误1
这是正常现象,它是短暂的,并且会在后端服务器得到服务(例如应用补丁)并且出于负载平衡和其他操作原因在后端移动邮箱时发生。您的客户端应该捕获并在必要时重试或重新创建(例如,如果邮箱在服务器或数据中心之间移动,通常意味着订阅不再有效并且需要重新创建)。
错误2
最有可能的是由于错误 1 中的相同问题,例如邮箱可能已移动到另一个数据中心,因为主服务器中的服务器正在升级等。如果您使用关联性https://msdn.microsoft.com/en-us/ Library/office/dn458789(v=exchg.150).aspx您需要重新发现邮箱现在关联的组(很可能已更改)并为该组中的该邮箱创建新的订阅。
| 归档时间: |
|
| 查看次数: |
2766 次 |
| 最近记录: |