После долгого поиска и десятков тестов я, похоже, обнаружил свою проблему:
Прежде всего, WebDav НЕ работает с Exchange Online.Существует решение, использующее WebServices, которое работает довольно хорошо.
Кажется, мне нужно установить версию Exchange 2007_SP1.Я не нашел никакой возможности оставить этот элемент пустым или его обнаружили.
var service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
// Just to get the trace messages
service.TraceEnabled = true;
ServicePointManager.ServerCertificateValidationCallback = CertificateValidationCallBack;
service.UseDefaultCredentials = false;
service.Credentials = new WebCredentials("<Username>", "<Password>");
// Autodiscover does NOT work if Exchange is not in the local net
// This is the url you have to use for german account (red002)
service.Url = new Uri("https://red002.mail.emea.microsoftonline.com/ews/Exchange.asmx");
Я до сих пор не могу понять, почему вы должны знать версию обмена заранее и не можете договориться об этом с помощью вызова.
Подобным является тот факт, что я должен знать URL, чтобы иметь возможность подключиться к серверу обмена.Разве это не основная идея облака - НЕ знать, где хранятся ваши данные?
Надеюсь, этот код кому-нибудь поможет.Я уверен, что понадобился бы этот совет: -)