首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Outlook获取FreeBusy信息速度很慢

Outlook获取FreeBusy信息速度很慢
EN

Stack Overflow用户
提问于 2019-02-10 16:20:28
回答 2查看 427关注 0票数 0

我的代码是一个MS Outlook插件,用于为团队中的60+人员创建缺勤日历。该公司使用MS Exchange。

我使用以下代码检索它们的忙/闲状态:

代码语言:javascript
复制
var namespace = ThisAddIn.thisOutlookApp?.GetNamespace( "MAPI" );
var recp = namespace.CreateRecipient( personName );
var freeBusy = recp.FreeBusy( startDate, MinPerChar: 60, CompleteFormat: true );

尽管这个文件是有效的,但对FreeBusy()的一次调用大约需要300毫秒。对于60个人和三个月的时间跨度,这意味着我的代码几乎需要一分钟。

我也尝试了这个方法:

代码语言:javascript
复制
recp.Resolve();
var exu = recp.AddressEntry.GetExchangeUser();
var freeBusy = exu.GetFReeBusy(...)

但没什么不同。VBA中的相同代码显示了相同的性能。

它们是加快呼叫速度的技巧,还是有其他方法来获取忙/闲信息,例如,通过访问其他人的日历或通过与MS Exchange服务器本身交谈?

EN

回答 2

Stack Overflow用户

发布于 2019-02-11 07:09:35

使用GetUserAvailability EWS操作-它允许在单个呼叫中为多个用户请求f/b信息。

票数 1
EN

Stack Overflow用户

发布于 2019-02-10 23:13:39

我自己找到了一个很好的解决方案:我没有使用Outlook Interop API,而是使用EWS托管API调用Exchange服务器本身。

有一套很棒的101 sample projects。(实际上是101个样本!)这是一个非常好的step-by-step tutorial,可以帮助您开始使用EWS Managed API。

"Exchange 2013以编程方式获取用户的状态设置“是我使用的示例。

然而,我热衷于听到来自SO用户的替代解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54614624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档