Exchange Web服务(EWS)限制

本文关键字:限制 EWS Web 服务 Exchange | 更新日期: 2023-09-27 18:12:33

最近我用c#开发了一个访问Outlook日历的接口。现在我正在开发连接EWS的相同功能。

我不完全理解的是一些方法的签名:例如,如果我想从我的日历中获得所有约会,为什么我必须设置我期望的约会次数等?

DateTime startDate = DateTime.Now;
DateTime endDate = startDate.AddDays(30);
const int NUM_APPTS = 5;
// Set the start and end time and number of appointments to retrieve.
CalendarView cView = new CalendarView(startDate, endDate, NUM_APPTS);

我个人更喜欢他们在Outlook程序集中处理它的方式。在那里,我可以简单地遍历所有日历文件夹,如果我想添加字符串查询,而不必指定我期望多少次约会等。

任何想法吗?

Exchange Web服务(EWS)限制

这可能是性能问题。人们可以在一个给定的日历中有很多约会。有时您需要或希望限制返回的数量。这在你的手机上就是一个例子。通常情况下,你的手机默认只同步几天前的邮件和约会,或者一定数量的邮件和约会。

这不是预期的约会数量,而是该CalendarView的最大数量。奇怪的是,CalendarView不允许你浏览结果。你需要一个ItemView和一个SearchFilter(如果需要的话)来做这件事。然后,你可以检查更多的项目,并获得下一批,如果有更多的可用,直到没有更多,这听起来有点像你正在寻找。或者,如果你真的想要所有的约会,你可以使用像ExchangeService这样的东西。syncFolderItems可以一次提取多达512个。

然而,就像其他人说的,这可能更多的是关于性能。SOAP已经有点臃肿了,如果您想在请求大量属性的同时获得大量的约会……好吧,很容易看出,无论对Exchange还是网络来说,这都将变得非常难看,非常快。当您意识到日历文件夹可以有多庞大时,为要检索的数量设置一个上限并不是一个坏主意。