c# - 初始 Exchange Web 服务同步在给定时间开始

标签 c# synchronization exchangewebservices

我们正在与我们的应用程序进行 Exchange Web 服务器同步。识别我们使用的 EWS 变更; service.SyncFolderItems() 方法,如 explain on MSDN .但是,在进行初始同步时,它会获取日历中的所有事件,也包括非常旧的事件。为避免获取较旧的事件,我们需要使用 time periodSync Start From time,同时从 SyncFolderItems() 方法请求更改。

1) 从 EWS 获取事件时,SyncFolderItems() 方法可以接受用户给定的时间段吗? & 如何?
2)如果没有,有什么解决方法吗?

最佳答案

有一种方法可以使用 service.SyncFolderItems() 方法避免日历中的旧事件。

<SyncFolderItems>
 <ItemShape/>
 <SyncFolderId/>
 <SyncState/>
 <Ignore/>
 <MaxChangesReturned/>   <SyncScope/>
</SyncFolderItems>

Ignore 参数将接受事件 ID 列表。并在同步时忽略它们。为此,首先我们需要检索较旧的事件 ID,Exchange 将只接受两年前的事件

        DateTime startDate = DateTime.Now.AddYears(-2); //start from two years earlier
        DateTime endDate = DateTime.Now.AddMonths(-1); // End One Month before,
//you can use Convert.ToDateTime("01/01/2013"); what ever date you wanted.

创建项目id列表;

List<ItemId> itmid = new List<ItemId>();

创建日历 View 对象;

CalendarView cView = new CalendarView(startDate, endDate);

检索约会;

 // Retrieve a collection of appointments by using the calendar view.
        FindItemsResults<Item> appointments = service.FindItems(WellKnownFolderName.Calendar, cView);

或者你可以使用这个,但是之前的代码有一些优化。 (谷歌)

FindItemsResults<Appointment> appointments = service.FindAppointments(WellKnownFolderName.Calendar, cView);

将检索事件 ID 添加到列表中,

foreach (var item in appointments)
        {
            itmid.Add(item.Id);

        }

最后,在您的 SyncFolderItems 方法中将如下所示;

service.SyncFolderItems(new FolderId(WellKnownFolderName.Calendar), PropertySet.IdOnly, itmid, 10, SyncFolderItemsScope.NormalItems, sSyncState);

希望对大家有所帮助。

关于c# - 初始 Exchange Web 服务同步在给定时间开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23383724/

相关文章:

c# - asp : LoginStatus control as a button, 不是文本

c# - 这个锁使用线程安全吗?

c# - 在 View 中找不到命名空间,在 Controller 中工作

c# - Microsoft Exchange 网络服务网址

oauth - Microsoft Graph API 访问租户外用户的基本信息

c# - 正则表达式或 XML 解析器 C#

c# - 将数据表转换为列表<T>

c# - 以编程方式创建 IIS7 虚拟目录

java - 同步HashMap的clear()方法的线程安全

c# - 当表使用标识列并且您需要匹配任意键时,如何使用 ms 同步框架同步数据库