EWS 2010 Импортер общих папок - PullRequest
0 голосов
/ 08 октября 2018

У меня есть программа.Он подключается к EWS, запрашивает изменения в определенной папке по EWSID, обрабатывает эти изменения и затем продолжает тот же поток, пока не останется никаких изменений.Проблема в том, что это, кажется, бесконечный цикл.С локальным обменом все работало нормально, но после того, как мы перешли в облако (Office365), возникла проблема.

с использованием следующего кода:

 MailProcessorResponse ret = new MailProcessorResponse();
        ret.SyncState = syncState;
        try
        {

            service = new ExchangeService(ExchangeVersion.Exchange2010);
            service.Credentials = new NetworkCredential("Office365example@domain.com", "Password123");
            service.Url = new Uri(@"https://outlook.office365.com/EWS/Exchange.asmx");

            ChangeCollection<ItemChange> changes = service.SyncFolderItems(new FolderId(folderId), set, null, 512, SyncFolderItemsScope.NormalItems, ret.SyncState);


            while (changes.MoreChangesAvailable)
            {
                createdOnly = changes.Where(x => x.ChangeType == ChangeType.Create);
                ProcessChanges(createdOnly, ret, country);
                ret.SyncState = changes.SyncState;
                changes = service.SyncFolderItems(new FolderId(folderId), set, null, 512, SyncFolderItemsScope.NormalItems, ret.SyncState);
            }
            createdOnly = changes.Where(x => x.ChangeType == ChangeType.Create);
            ProcessChanges(createdOnly, ret, country);
            ret.SyncState = changes.SyncState;
        }

            }
            catch (Exception ex)
            {
                ret.Exceptions.Add(ex);
                Libs.Logger.Write(ex);
            }
            return ret;

        }

Параметр syncState является входом для метода.- последнее обновление было до того, как мы перешли в облако.

Параметр folderID - это идентификатор папки EWS.Это также вход в метод.

У кого-нибудь есть идеи, что не так или что я скучаю?

...