我试图通过尝试运行以下命令以查找asp.net c#中的所有文件夹来同步到Exchange文件夹。
view.Traversal = FolderTraversal.Deep;
FindFoldersResults findFolderResults = service.FindFolders(new FolderId(WellKnownFolderName.Root, mailbox), view);
但是,对于我正在使用的当前邮件服务器,以前在其他邮件服务器上使用过的该命令已失败。该行返回的错误是
Microsoft.Exchange.WebServices.Data.ServiceVersionException: Exchange Server doesn't support the requested version.
at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.ProcessWebException(WebException webException)
at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.GetEwsHttpWebResponse(IEwsHttpWebRequest request)
at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.ValidateAndEmitRequest(IEwsHttpWebRequest& request)
at Microsoft.Exchange.WebServices.Data.SimpleServiceRequestBase.InternalExecute()
at Microsoft.Exchange.WebServices.Data.MultiResponseServiceRequest`1.Execute()
at Microsoft.Exchange.WebServices.Data.ExchangeService.InternalFindFolders(IEnumerable`1 parentFolderIds, SearchFilter searchFilter, FolderView view, ServiceErrorHandling errorHandlingMode)
at Microsoft.Exchange.WebServices.Data.ExchangeService.FindFolders(FolderId parentFolderId, FolderView view)
有趣的是,Exchange Server和Exchange Server都是Exchange 2010,所以有人知道这到底是什么问题吗?或导致命令不受支持的确切原因。
The successful run server is version 14.03.0195.001
The failed server version is 14.00.0722.000
此错误确实是由次要错误引起的吗?我的意思是他们俩都是Exchange 2010服务器,难道命令不应该相同吗?
尝试使用实例化ExchangeService对象ExchangeVersion.Exchange2010
。(也有ExchangeVersions
SP1和SP2。)我不知道每个服务器上的14.xyz编号,但是显然发生故障的服务器比正在运行的服务器低。EWS并不是在抱怨您想要的功能,而是在抱怨您所请求的版本。因此,如果发生故障的服务器运行的是E2010 SP1,并且您的EWS DLL默认为Exchange2010_SP2,则将无法正常工作。除非您的其他代码需要SP1或SP2中的特定内容,否则您可能可以放心地使用E2010的RTM版本,在这种情况下,您必须确切确定14.xyz编号对应的内容。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句