Exchange Web服务(EWS)限制

时间:2014-07-10 15:02:45

标签: c# outlook exchangewebservices

最近我在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程序集中处理它的方式。在那里,我可以简单地遍历所有日历文件夹,如果我想要添加字符串查询,并且不必指定我期望的约会数等。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

这可能是表演的事情。人们可以在给定的日历中有很多约会。有时您需要或想要限制返回的数量。这可以在您的手机上举例说明。通常情况下,您的手机默认只同步几天或一定数量的邮件和约会。

答案 1 :(得分:0)

这不是预期的约会数量,而是该CalendarView的最大数量。奇怪的是,CalendarView不允许您翻阅结果。您需要将ItemView与SearchFilter(如果需要)结合使用才能执行此操作。然后你可以检查更多的项目并获得下一批,如果有更多可用,直到没有更多,这听起来有点像你正在寻找的。或者,如果你真的想要所有约会,你可以使用像ExchangeService.syncFolderItems这样的东西一次最多拉出512个。

然而,就像其他人所说的那样,它可能更多地是关于性能。 SOAP已经有点臃肿了,如果你想要获得大量的约会,同时请求大量的属性......好吧,很容易看出它会变得非常丑陋,非常快,无论是Exchange还是网络。当你意识到日历文件夹有多么笨拙时,对要检索的数字设置上限并不是一个坏主意。