'转换到此RuntimeCallableWrapper的COM上下文失败'并行编程错误

时间:2016-04-21 11:34:48

标签: c# c#-4.0 asynchronous parallel-processing

我有一些从SQL Server调用SP的方法。在UI中,我使用并行编程调用方法,如下所示:

Parallel.Invoke(
()=>{value1=GetData1(filterCriteria); },
()=>{value2=GetData2(filterCriteria); },
()=>{value3=GetData3(filterCriteria); },
()=>{GetData4(filterCriteria); }
);  

我面临以下错误。

  

"为此RuntimeCallableWrapper转换到COM上下文0x4f0100   失败,出现以下错误:系统调用失败。 (例外   HRESULT:0x80010100(RPC_E_SYS_CALL_FAILED))。
  这通常是   因为这个RuntimeCallableWrapper所在的COM上下文0x4f0100   已创建已断开连接或正在忙于执行其他操作。   从当前COM上下文(COM上下文)释放接口   0x4f01b8)。这可能会导致损坏或数据丢失。为了避免这种情况   问题,请确保所有COM上下文/公寓/线程都保留   有效且可用于上下文转换,直到应用程序   完全使用代表的RuntimeCallableWrappers完成   生活在其中的COM组件。"

可能的原因是什么以及如何避免此错误?请建议。

0 个答案:

没有答案