【发布时间】:2018-07-18 07:19:25
【问题描述】:
System.UnauthorizedAccessException:'检索具有 CLSID 的组件的 COM 类工厂失败,原因是以下错误:80070005 访问被拒绝。 (来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))。'
代码正在调用一个调用自定义 dcom 应用程序的 Web 方法。 Web 服务已设置为在 IIS 上以 32 位运行。
DCom CLSID 确实存在,我已检查权限。
【问题讨论】:
-
你可以试试
dcomcnfg.msc,看看这是否真的只是给定组件的访问权限问题。但是,最有可能的是,该组件需要“管理员”权限,您可以先尝试一下。除此之外,还有数以百万计的事情可能发生。 -
在COM组件方面,他们喜欢与众不同。如果不是,您只需将错误代码粘贴到谷歌即可找到答案。它失败了对吗?你可能有大量的点击,但都没有真正的帮助。那是因为 8007005 是非常通用的错误。如果没有详细信息,例如那是什么组件,您如何尝试访问它,您拥有的 win-OS 和 COM 版本,dcomcnfg 中设置的帐户和访问权限等,很难猜测。一般来说,当您询问“为什么我的代码会抛出/崩溃/等等”时,最好展示这段代码,或者至少提供尽可能多的细节!
-
我得到了很多结果,没有任何帮助。错误就是我得到的全部。该代码正在调用一个调用自定义 dcom 应用程序的 Web 方法。