我们正在将应用程序从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请求或?
答案 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
}