发布时间:2020-08-27编辑:佚名阅读(4973)
在使用word作为模板绑定数据,生成报表时,在循环中易出现错误:
foreach (FormField bm0 in _doc.FormFields)
{... bm0.Range.Text=bandvalue; }
易出现异常:
System.Runtime.InteropServices.COMException (0x80010001): 被呼叫方拒绝接收呼叫。
(Exception from HRESULT: 0x80010001 (RPC_E_CALL_REJECTED))
原因可能为:
1.目录权限
2.操作频繁
若是权限问题,按如下步骤:
在运行里面输入:
dcomcnfg
在“服务”里找到这三个服务,都去启动
Distributed Transaction Coordinator
Remote Procedure Call (RPC)
Security Accounts Manager
如果:Distributed Transaction Coordinator 启动不了
就先在运行里面输入:
msdtc -resetlog
然后在开启:Distributed Transaction Coordinator
接着关闭服务组件窗体 ,并重新打开,这个时候每个组建就有属性了
然后:在命令行中输入:dcomcnfg,会显示出“组件服务”管理器
2、打开“组件服务->计算机->我的电脑->DCOM 配置”,找到“Microsoft Word文档”,单击右键,选择“属性”
在“属性”对话框中单击“标识”选项卡,选择“交互式用户””,关闭“组件服务”管理器。
若是操作频繁,则需要在代码中加入延时:
int m_iErrCnt=0; while( true ) { try { bm0.Range.Text=bandvalue; break; } catch(SystemException err) { m_iErrCnt++; if( m_iErrCnt<10 ) { System.Threading.Thread.Sleep(1000);//延时 } else { throw err;} } }
关键字: 被呼叫方拒绝接收呼叫 异常来自 HRESULT 0x80010001 RPC_E_CALL_REJECTED
0人
1人
0人
0人