• .net core mvc部署到IIS导出Word 提示80070005拒绝访问


            项目中相信大家经常会遇到导出Word、Excel等需求,在实际开发环境中,一般不会出现什么问题,但当发布到IIS上后可能会遇到各种各样的问题,一般都是权限的问题。前几天把公司项目发布后,出现Word导出失败的问题,查看日志,报的就是80070005拒绝访问的错误,但当使用Kestrel启动的时候,就没有这个问题,只是在IIS上出现了这个错误,IIS权限的问题,也应该是大家经常会遇到的问题了。

            80070005详细错误为检索Com类工厂中CLSID为{xxxx-xxxx-xxxx-xxxx}组件时失败,解决方法就是配置服务器中的Com组件,添加相应的权限。

            1、打开运行->输入命令dcomcnfg->组件服务->计算机->DCOM配置->Microsoft97-2003 Document

            2、或者通过控制面板->管理工具->组件服务->计算机->DCOM配置->Microsoft97-2003 Document

    使用以上方法很多时候我们无法从DCOM配置中找到Microsoft97-2003 Document配置选项,这时候可以使用

    comexp.msc -32命令,打开组件服务,就可以找到该选项了,也有的说是使用mmc -32命令也可以找到该选项,但是我在win10上使用该命令时打开的是一个空的控制台,需要自己添加控制选项。不论怎样,只要找到Microsoft97-2003 Document选项即可。

            配置:

            右键该选项属性,选择安全->启动和激活权限->自定义,添加NETWORK SERVICE用户,并勾选本地激活选项,点击确定。同时将访问权限设为自定义,并添加NETWORK SERVICE用户。配置完COM组件后,还是无法导出,这时需要配置IIS的权限,选择发布的项目使用的应用程序池,右键属性->高级设置->进程模型,标识选项默认的是使用ApplicationPoolIdentity,我们将其改为自定义账户,添加服务器的用户名和密码即可,最后重启IIS,问题得以解决。

    扫描二维码关注我的公众号,共同学习,共同进步!

  • 相关阅读:
    CSUOJ 2192: Wells弹键盘 (dp)
    Gym101981I Magic Potion(最大流)
    BZOJ2588: Count on a tree 主席树
    C#添加多个Sheet表
    DataTable排序,检索,合并
    检索 COM 类工厂中 CLSID 为 {} 的组件时失败,原因是出现以下错误: 80070005
    C#获取URL参数值
    JQuery爱好者们的福音 jQuery EasyUI 开源插件套装 完全替代ExtJS
    12个ajax弹出层效果
    CSS完美兼容IE6/IE7/FF的通用方法
  • 原文地址:https://www.cnblogs.com/Allen0910/p/9191893.html
Copyright © 2020-2023  润新知