如果使用EWS托管API,则创建文件夹或打开它

时间:2016-09-02 12:32:28

标签: c# exchangewebservices mapi ews-managed-api

我们正在将应用程序从MAPI迁移到EWS托管API。在MAPI中,我们可以使用单个MAPI方法IMAPIFolder :: CreateFolder创建新文件夹或打开它。

但是我在EWS中找不到这样的功能。 我可以像这样创建文件夹(但如果目标文件夹中已经存在这样的文件夹,则抛出异常):

var newFolder = new Folder(service);
newFolder.DisplayName = "name";
newFolder.Save(WellKnownFolderName.Root);

或打开(找到)它就像这样

var filter = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, "name");
service.FindFolders(WellKnownFolderName.Root, filter, new FolderView(1));

即。我必须使用ExchangeService.FindFolders方法捕获此异常并查找文件夹。这一切看起来都很奇怪。最糟糕的是,在这种情况下我们必须使用这两个EWS调用。

是否可以使用单个EWS调用来获取" CreateOrOpen" functionalty?也许手动建立EWS请求或?

1 个答案:

答案 0 :(得分:0)

即使我遇到类似的问题,我们还需要进行EWS服务调用。我没有找到任何EWS服务方法来执行这两个(创建和打开)功能。所以我包含了性能并进行了多次调用。

bool isExists = ews.FolderExists(EwsFolderId.Root, "name");
if (!isExists){
    ews.CreateFolder(EwsFolderId.Root, "name");
 }else{
     //Find folder or get folder code goes here
  }