WPF:集成到WinForms错误 - “CLR无法从COM上下文0x1a8188转换到COM上下文0x1a8018 60秒”

时间:2011-05-10 14:37:51

标签: wpf winforms contextswitchdeadlock

我得到的完整错误如下:

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

知道这意味着什么吗?怎么解决?我尝试在Google上搜索,但找不到任何后果,即与我的具体情况有关。

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

由于

Hasanain

1 个答案:

答案 0 :(得分:1)

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