获取多个日历时,EWS会变慢

时间:2016-09-23 16:38:17

标签: exchangewebservices exchange-server-2013

我有一个显示多个用户日历约会的网页(ASP.Net)。目前,我通过对Web服务进行异步调用来获取数据,而Web服务又使用类似于以下代码调用现场EWS:

        var userMailbox = new Mailbox("user1@example.com");
        var folderId = new FolderId(WellKnownFolderName.Calendar, userMailbox);

        DateTime startDate = DateTime.Now.Date;
        DateTime endDate = startDate.Date.AddDays(5);

        CalendarView cView = new CalendarView(startDate, endDate);
        cView.PropertySet = new PropertySet(AppointmentSchema.Subject, AppointmentSchema.Start, AppointmentSchema.End);

        var appointments = _Service.FindItems(folderId, cView);

        //Do something with results

此解决方案确实有效,但速度极慢。每次拨打EWS大约需要800毫秒。如果我发出10个异步请求,EWS会将它们排队并一次处理一个,这意味着完全更新包含10个邮箱的页面需要大约8秒钟。

我无法更改EWS配置的任何方面。

瓶颈似乎是在往返EWS的往返行程,而不是返回的数据量。考虑到这一点,是否可以对可以接受多个文件夹ID并为多个用户返回日历约会的EWS进行 调用?

0 个答案:

没有答案