如何将项目异步加载到 InfoPath 表单中?

How to load items into InfoPath form asynchronously?

在我的 Infopath 2013 表单中,我有一个下拉列表,它是从代码中填充的。数据从 WCF 服务下载。问题是,服务太慢了,表格加载时间太长(超过 30 秒)。我的代码目前在 FormEvents_Loading 事件中。我想知道,是否有任何方法可以在加载并显示表单后异步加载数据。

第一次尝试是简单地创建一个 Task,但它似乎在 Infopath 中不可用。

所以,问题是:除了创建 "click to load" 按钮之外,我还能做些什么来缩短表单的加载时间?

据我所知,你不能这样做。我自己也试过这样做,也是为了解决加载时间长的问题。

任何为 UI 项(在您的示例中为下拉列表)提供项的数据源都必须在 FormEvents_Loading 方法中加载。

InfoPath 2007 就是这种情况,我没有理由怀疑此后发生了变化,尽管我没有检查过。