最近在做一个网站时,有一个下载word文档功能,在本地直接调试是可以下载的,但部署到IIS上就出现问题了。
出现问题如下:Error:下载简历方法出错:检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件失败,
原因是出现以下错误: 80070005 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))。
在网上找了很多方法,最后终于解决了。为了防止下次出现这种问题,特意记下了解决方法。
解决方法(推荐):
1、打开 控制面板-》管理工具-》组件服务-》计算机-》我的电脑-》DCOM配置-》找到Microsoft Word文档
或者直接通过dcomcnfg.exe命令直接打开组件服务。
2、找到Microsift Word文档后,右键查看属性,在安全选项卡中,把启动和激活权限、访问权限、配置权限改为自定义,并且都加上everyone用户,勾选所有权限。
3、在标识选项卡中,选择交互式用户即可。
另外在网上看到了另一个解决方案,这种方法没有成功(有兴趣的可以试下)。
在web.config中使用身份模拟,在<system.web>节中加入
<identity impersonate="true" userName="你的用户名" password="密码"/>
</system.web>