现在项目中有上传数据,然后替换word文档里面的内容的操作。由于com组件调用起来比较耗时,所以我想把这部分放到子线程中去完成,但是当我在子线程中调用com组件的时候,报错了:检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))。
但是我在主线程中调用的话就没有什么问题了,完全可以成功。下边是我创建子线程和调用的语句。请教下有没有哪位大侠知道是什么原因的。
创建调用线程
ParameterizedThreadStart start = new ParameterizedThreadStart(SaveXCJCKYBLDoc);
Thread thread = new Thread(start);
thread.Name = "DOCSave";
thread.SetApartmentState(ApartmentState.STA);
thread.Start(model);
报错语句
wApp = new Word.Application();
http://blog.163.com/llf_046/blog/static/527371192009312114824145/
http://www.cnblogs.com/adandelion/archive/2007/06/28/798971.html