[英]EWS Managed API: Can I load properties for multiple items with one EWS call, given only the item IDs?
是否只有给定相关项目的ItemIds,有人知道使用EWS托管API在单个EWS调用中绑定多个项目的任何方法吗?
目前,我的应用程序的工作方式如下:
麻烦的是,处理每个项目并不需要很长时间,因此我的代码在Item.Bind()中花费了大约一半的时间。 它也不能使Exchange邮箱服务器非常满意,必须满足不断不断的小查询查询。 在我看来,“分批”请求,一次加载大约100项左右的属性,效率会更高。
现在,我确定您在问-为什么不跳过数据库并在每次FindItems()调用之后调用ExchangeService.LoadPropertiesForItems()? 好吧……在完成所有项目的处理之前,有一定的可能性将其停止。 当它再次启动时(可能是数小时或数天),它需要能够从停止的位置恢复。 使用FindItems()的代码非常简单,以至于弄清楚如何保存其状态以供以后恢复将是一场噩梦。
我发现一次调用Exchange Web Services即可加载多个项目的属性 ,这说明LoadPropertiesForItems()在后台使用EWS GetItem调用。 那确实接受一个ItemIds列表,但是该功能似乎没有通过Managed API公开(LoadPropertiesForItems()需要一个已经绑定的Item对象列表,而不仅仅是ItemIds)。
确实有几个问题:
您正在寻找ExchangeService.BindToItems 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.