asp.net - "Retrieving the COM class factory for component.... error: 80070005 Access is denied."(HRESULT : 0x80070005 (E_ACCESSDENIED)) 异常

标签 asp.net excel iis

我刚刚创建了一个简单的应用程序并托管在 IIS6.0 中。在代码中我只是实例化 Excel 对象。

using excel = Microsoft.Office.Interop.Excel.Application;

namespace TestHosting
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            excel excelObj=new Microsoft.Office.Interop.Excel.Application();
        }
    }
}

它给了我以下错误

 "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)).

系统配置:

Windows server 2008,64位企业版。 服务包2

我尝试了在互联网上找到的许多可能的解决方案,但没有一个对我有用。

下面是我尝试过的一些解决方案

1) 在路径“C:\Windows\SysWOW64\config\systemprofile”下创建桌面应用程序 2)在DCOMCNFG中为Microsfot.EXcelApplicaiton设置完全权限/控制 3)在任务管理器中杀死所有excel实例

请在这方面帮助我,这只是示例应用程序,但在我的原始应用程序中主要是关于从 Excel 读取数据和向 Excel 写入数据。

最佳答案

  1. 确保服务器上安装了 Office 运行时。
  2. 如果您使用的是 Windows Server 2008,则使用 Office 互操作是一项冗长的配置,步骤如下。

更好的是迁移到 Open XML,或者您可以按如下方式配置

  • 安装最新版 MS Office Pro(我使用的是 2010 Pro)
  • 创建用户 ExcelUser。为 WordUser 分配管理组
  • 转到计算机 -> 管理
  • 使用以下选项添加用户
  • 用户选项密码永不过期
  • 密码无法更改

Com+配置

  • 转至控制面板 -> 管理员 -> 组件服务 -> DCOM 配置
  • 打开 Microsoft Word 97 - 2003 属性
  • 常规 -> 身份验证级别:无
  • 安全 -> 自定义所有 3 个权限以允许所有人
  • 身份 -> 此用户 -> 使用 ExcelUser/密码
  • 启动 Excel 应用程序以确保一切正常

3.在DCOM Config中更改Microsoft Excel应用程序的安全设置。

控制面板 --> 管理工具 --> 组件服务 --> 计算机 --> myComputer --> DCOM 配置 --> Microsoft Excel 应用程序。

右键单击以获取属性对话框。转到“安全”选项卡并自定义权限

查看此处的帖子:Error while creating Excel object , Excel manipulations in WCF using COM

关于asp.net - "Retrieving the COM class factory for component.... error: 80070005 Access is denied."(HRESULT : 0x80070005 (E_ACCESSDENIED)) 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17785063/

相关文章:

javascript - 上传视频时出现内部服务器错误。但上传图片工作正常。可能会出现什么问题?

vb.net - 浮点精度视觉基础

asp.net - HttpHandlers 是否会重新实例化每个请求?

asp.net-mvc - IIS Express - 'mimeMap' 上的 HTTP 错误 500.19 0x800700b7( 'fileExtension' 设置为 '.svg')

asp.net - 我可以在 GoDaddy 上使用 NHibernate 吗?

C# 选择具有特定 CssClass 的所有文本框

c# - ASP.NET C# 作用域问题

java - 使用 API 将 Excel 列转换为 Java

excel - 如何使用 VBA 获取谷歌搜索的第一个搜索结果链接?

asp.net-mvc - 在 IIS 6 上托管 ASP.NET MVC 时是否会失去功能?如果是这样,是什么?