发布asp.net应用程序后,其中导入、导出excel报错的解决方案

消息: Sys.WebForms.PageRequestManagerServerErrorException: Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005 拒绝访问。 (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).

在asp.net程序中用到了导入、导出excel 在调试的时候没有问题,能够正常导入。但在发布到IIS后出现以上错误。网友提出了如下解决办法:


第一种:(可以实现)

在服务器上点击开始—运行—输入:Dcomcnfg然后回车,系统将弹出分布式COM配置属性窗体。

在“应用程序”页里面选择“Microsoft Excel 应用程序”。点击“属性”按钮,系统将弹出该应用程序的属性窗体。

在“常规”页中的身份验证级别下拉列表中选择“无”。

在“安全性”页中选中“使用自定义访问权限”和“使用自定义启动权限”,然后分别点击访问用户和启动用户对应的“编辑”按钮,在里面添加用户“everyone”或“internet来宾用户",并配置相应的权限

最后在“身份标示”页里面选中“交互式用户”。

第二种:(可以实现)

在web.config中<system.web>中加入如下配置

<identity impersonate="true" />

原文地址:https://www.cnblogs.com/fuge/p/2716790.html