首页 新闻 会员 周边 捐助

检测到 DisconnectedContext

0
悬赏园豆:10 [已解决问题] 解决于 2013-12-20 17:40

C#写的一个网页抓数据的程序,每次最后一个任务结束后就出现SwitchContextDeadLock,在异常里把这个勾掉了,现在又变成这个了:

检测到 DisconnectedContext
Message: 针对此 RuntimeCallableWrapper 向 COM 上下文 0x731b7d8 的转换失败,错误如下: 被调用的对象已与其客户端断开连接。 (异常来自 HRESULT:0x80010108 (RPC_E_DISCONNECTED))。原因通常是创建此 RuntimeCallableWrapper 的 COM 上下文 0x731b7d8 已断开连接,或者该上下文正忙于执行其他操作,无法处理该上下文转换。将不会有代理服务于该 COM 组件上的请求,调用将直接转向该 COM 组件。这可能会导致损坏或数据丢失。要避免此问题,请确保在应用程序全部完成 RuntimeCallableWrapper (表示其内部的 COM 组件)之前,所有 COM 上下文/单元/线程都保持活动状态并可用于上下文转换。

 

这种情况怎么解决,怎么调试啊?我都不知道错在哪儿啊?

空明流光的主页 空明流光 | 初学一级 | 园豆:111
提问于:2013-12-11 14:40
< >
分享
最佳答案
0

当然是先搞明白,你的程序是否使用了 COM 组件。

收获园豆:10
Launcher | 高人七级 |园豆:45050 | 2013-12-11 15:16

是啊,使用了,动态创建webbrowser控件

空明流光 | 园豆:111 (初学一级) | 2013-12-13 10:27

@沧海一杰: 错误的意思就是 webbrowser 已经或正在被销毁,但是你还在调用它。你应该在所有任务都完成后,再销毁 webbrowser 控件。

Launcher | 园豆:45050 (高人七级) | 2013-12-13 10:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册