0

我得到的完整错误如下:

CLR 在 60 秒内无法从 COM 上下文 0x1a8188 转换到 COM 上下文 0x1a8018。拥有目标上下文/单元的线程很可能要么进行非泵送等待,要么处理非常长时间运行的操作而不泵送 Windows 消息。这种情况通常会对性能产生负面影响,甚至可能导致应用程序变得无响应或内存使用量随着时间的推移不断累积。为避免此问题,所有单线程单元 (STA) 线程都应使用泵送等待原语(例如 CoWaitForMultipleHandles)并在长时间运行的操作期间定期泵送消息。

知道这意味着什么吗?又该如何解决?我尝试在谷歌上搜索,但找不到任何重要的结果,即与我的具体情况有关。

编辑:具体场景: 1. 将 WPF 集成到 WinForms 2. WPF 屏幕是为插件 dll 编写的,该插件动态加载到主应用程序中。

谢谢

哈萨宁

4

1 回答 1

1

这意味着您在线程 A 上创建了一个对象,然后尝试在线程 B 上使用它,但线程 A 真的很忙,COM 对象要求它在线程 A 上运行。尝试查看线程 A 为何忙。

于 2011-05-10T15:33:13.570 回答