【发布时间】:2017-04-07 10:25:57
【问题描述】:
我们有一个应用程序可以向/从 MS Project 导出和导入数据。数据量可能很大 - 1000 多个任务。 但即使数据部分很小,我们也注意到了奇怪的项目行为——当您连续执行超过 1 个操作时,它可能会在您的脸上抛出“应用程序正忙”异常。例如。创建一个新任务,并读取其完成日期。 它甚至可以在您刚刚创建 Application 对象后将这个异常作为第一个操作抛出。含义:
var projectApp = new Application();
projectApp.Open(...);
在第二行,我们可以捕获这个异常,因为 Project 应用程序仍在加载。
我尝试添加 Thread.Sleep,但这不是一个好方法,因为某些操作比其他操作需要更多时间,并且不同计算机上操作所需的时间量不同(由于性能)。
所以问题是: 有没有办法检测到 Project 应用程序很忙,而不会一直出现这些不可预测的异常?
【问题讨论】:
-
Google "c# CoRegisterMessageFilter" 搜索结果。
标签: c# office-interop ms-project