码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2018-01-17 21:55:08      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:csdn   sdn   word   one   简单的   定义   pool   控制   question   

  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,组件服务,应该可以看到。

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

标签:csdn   sdn   word   one   简单的   定义   pool   控制   question   

原文地址:https://www.cnblogs.com/hailiah/p/8306017.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!