c# – 初始Exchange Web服务同步在给定时间开始
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 初始Exchange Web服务同步在给定时间开始,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1668字,纯文字阅读大概需要3分钟。
内容图文
![c# – 初始Exchange Web服务同步在给定时间开始](/upload/InfoBanner/zyjiaocheng/794/34218c9f9e664f1591ab941249865b62.jpg)
我们正在与我们的应用程序进行Exchange Web服务器同步.确定我们使用的EWS变更; service.SyncFolderItems()方法,如explain on MSDN.但是,在进行初始同步时,它会占用日历中的所有事件,也会使用较旧的事件.为避免收到旧事件,我们需要使用时间段或??同步开始时间,同时从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>();
创建日历视图对象;
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服务同步在给定时间开始全部内容,希望文章能够帮你解决c# – 初始Exchange Web服务同步在给定时间开始所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。