Exchange Server 2010支持对asp.net的文件夹搜索

nan*_*ots 3 c# asp.net exchange-server exchangewebservices exchange-server-2010

我试图通过尝试运行以下命令来查找asp.net c#中的所有文件夹来同步到交换文件夹.

view.Traversal = FolderTraversal.Deep;

        FindFoldersResults findFolderResults = service.FindFolders(new FolderId(WellKnownFolderName.Root, mailbox), view);
Run Code Online (Sandbox Code Playgroud)

但是,之前在另一台邮件服务器上运行的此命令对于我正在使用的当前邮件服 此行返回的错误是

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

有趣的是交换服务器都是交换2010年,所以任何人都知道这是什么问题?或者究竟是什么导致命令不受支持.

The successful run server is version 14.03.0195.001
The failed server version is         14.00.0722.000
Run Code Online (Sandbox Code Playgroud)

此错误是否真的是由此次错误引起的?我的意思是他们两个都是Exchange 2010服务器真的不应该命令是一样的吗?

pjn*_*ary 6

尝试使用实例化ExchangeService对象ExchangeVersion.Exchange2010.(也有ExchangeVersionsSP1和SP2.)我不知道每个上的14.xyz数字,但显然失败的服务器是低于工作的服务器.EWS不会抱怨你想要的功能,而是抱怨你要求的版本.因此,如果发生故障的服务器正在运行E2010 SP1,并且您的EWS DLL默认为Exchange2010_SP2,则事情将无效.除非您的代码的其他部分需要SP1或SP2中特定的内容,否则您可能安全地降低到E2010的RTM风格,在这种情况下,您将必须准确确定14.xyz数字对应的内容.