WebAPP,API调用Excel, Word,Bartender等DCOM, VS调试没问题,发布到IIS出错

  WebAPP,API调用Excel, Word,Bartender等DCOM, VS调试没问题,发布到IIS出错,类似如下

"Message": "An error has occurred.",
"ExceptionMessage": "Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).",
"ExceptionType": "System.UnauthorizedAccessException",

网上查了很多资料,也尝试了很多方法,原因应该是IIS调用DCOM用的用户名的权限问题,VS调试用的是本机系统账户,而IIS用的是Applicaiton Pool定义的账户,如果此账户没有相应启动DCOM的权限,那么就会出现Access 错误。

最后简单的解决方法,将Applicaiton Pool的Identity改正LocalSystem,然后在DCOMCNFG.exe的组件服务里将Excel或其他DCOM的应用的Identity改成interactive user,最然说这个设置会造成安全方面的问题,当时如果是内部用的话问题也不大。

当然也可以将其他账户配置成相应权限,道理上应该可以,当时尝试多次都不行,有时间再看看如下链接吧

http://www.cnblogs.com/zhongxinWang/p/3275154.html

http://bbs.csdn.net/topics/360144511

http://blog.csdn.net/aiya1229/article/details/7031727

https://forums.asp.net/t/1951549.aspx

https://stackoverflow.com/questions/17785063/retrieving-the-com-class-factory-for-component-error-80070005-access-is-de

还有,有些DCOM是32位的,在64位系统用DCOMCNFG组件里有可能看不到,需要用命令,MMC -32打开控制台,添加snap in,组件服务,应该可以看到。

转载于:https://www.cnblogs.com/hailiah/p/8306017.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值