服务器错误 - 由于以下错误,检索具有CLSID的组件的COM类工厂失败:80070005访问被拒绝

时间:2017-02-07 16:40:49

标签: asp.net iis

我已经在这个问题上搜索了好几个小时,而且我遇到了一堵砖墙......

我在VM上的本地主机上启动并运行了一个应用程序,实际上它正在运行但是当我尝试登录到应用程序时,我收到以下服务器错误消息

  

检索具有CLSID {9A4246A3-5CF7-4CD5-A3FE-D19B69BA1C26}的组件的COM类工厂由于以下错误而失败:80070005访问被拒绝。 (HRESULT异常:0x80070005(E_ACCESSDENIED))。

在Stackoverflow上有类似问题,但我无法找到与我的问题类似的问题。

Like this one for example

问题似乎与IIS中的权限有关 - 据我所知,我的用户具有完全权限,但正如上面解释的另一个问题

  1. 从“开始”菜单中,单击“运行”,然后键入Dcomcnfg.exe。
  2. 在“组件服务”中,单击“控制台根”,展开“组件服务”,然后展开 计算机,展开我的电脑,展开DCOMConfig。
  3. 搜索您的对象。点击它。 ...步骤继续(见其他问题),但这是我的不同之处......
  4. 所以我从错误信息中搜索名为 9A4246A3-5CF7-4CD5-A3FE-D19B69BA1C26 的文件 - 唯一的问题是它似乎不存在......?

    所以我想念这些答案还是会有一些奇怪的事情发生在这里?

    任何建议将我推向一个新的方向来解决这个问题将非常受欢迎!

    <磷>氮

1 个答案:

答案 0 :(得分:1)

发现了问题!

我从未发现为什么该对象从未出现在组件服务中,但我确实解决了服务器错误。

我从此错误消息的“访问被拒绝”部分开始 - 基本上我的IIS用户没有足够的权限来访问此区域 - 我的应用程序的登录区域。

  • 在IIS中,我转到了我的应用程序池
  • 从列表中找到该网站,然后点击右侧栏中的“高级设置”
  • 在“流程模型”下的此列表中,有一个选项“身份”。
  • 默认设置为“ApplicationPoolIdentity”,单击此按钮然后单击“...”按钮以访问弹出窗口
  • 在弹出窗口中选择“自定义帐户”,然后按“设置”按钮。
  • 在此您要输入具有足够管理员权限的现有用户。

我使用的是Windows用户名,这是我登录到计算机的管理员 - 有趣的是,这是在VM上,默认情况下会设置一个没有密码的管理员用户,因此我必须转到用户帐户,创建一个密码然后回到IIS并相应地输入详细信息然后刷新我的整个应用程序生活! : - )

希望这可以帮到你!

<磷>氮