Мы переносим наше приложение с MAPI на управляемый API EWS. В 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»? Может быть, создать запрос EWS вручную или?