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

Nei*_*sey 1 asp.net iis

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

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

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

Stackoverflow 上有很多类似的问题,但我找不到与我的问题类似的问题。

比如这个

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

  1. 从“开始”菜单中,单击“运行”并键入 Dcomcnfg.exe。
  2. 在组件服务中,单击控制台根目录,展开组件服务,展开计算机,展开我的电脑,展开 DCOMConfig。
  3. 搜索您的对象。点击它。... 步骤继续(参见其他问题),但这对我来说是不同的地方 ...

所以我在这里从我的错误消息中搜索一个名为9A4246A3-5CF7-4CD5-A3FE-D19B69BA1C26的文件- 唯一的问题是它似乎不存在......?

所以我错过了理解这些答案还是这里发生了一些奇怪的事情?

非常欢迎任何将我推向新方向以解决此问题的建议!

N

Nei*_*sey 5

发现问题了!

我从来没有发现为什么那个对象从来没有出现在组件服务中,但我确实解决了服务器错误。

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

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

我使用了我的 Windows 用户名,它是我登录到机器的管理员 - 有趣的是,这是在一个 VM 上,默认情况下它设置了一个没有密码的管理员用户,所以我必须转到用户帐户,创建一个密码然后来回到 IIS 并相应地输入详细信息,然后刷新我的整个应用程序就开始活跃起来!:-)

希望这可以帮助你!

N