【问题标题】:LogParser Access Denied errorLogParser 访问被拒绝错误
【发布时间】:2012-08-29 02:21:46
【问题描述】:

我使用 Logparser 来解析 IIS 日志并在网页上显示信息。在我的开发环境中一切正常,但是一旦我将应用程序发布到服务器,我就会收到以下错误:

由于以下错误,检索具有 CLSID {8CFEBA94-3FC2-45CA-B9A5-9EDACF704F66} 的组件的 COM 类工厂失败:80070005 访问被拒绝。 (来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))。

说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.UnauthorizedAccessException:检索具有 CLSID {8CFEBA94-3FC2-45CA-B9A5-9EDACF704F66} 的组件的 COM 类工厂失败,原因是以下错误:80070005 访问被拒绝。 (来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))。

这个错误是什么意思,我该如何解决?

【问题讨论】:

    标签: c# asp.net iis logging logparser


    【解决方案1】:

    您可能需要在服务器 DCOM 上授予运行它的用户运行它的权限。 DCOM 配置位于组件服务中,您可以看到每个条目的 GUID,因此您应该能够识别相关条目。

    然后为其编辑安全权限,并赋予相关用户Launch and Activation权限和Access权限。

    【讨论】:

      【解决方案2】:

      此错误是由于缺少权限而出现的。 您需要在虚拟目录中授予 IIS 用户/访客读/写权限。

      【讨论】:

        【解决方案3】:

        IIS 7+ 可能未配置为运行 32 位应用程序。从您的应用程序池中,导航到高级设置,然后启用 32 位应用程序。

        我遇到了您描述的相同问题,我采取的解决步骤包括:

        • 在应用程序池下启用 32 位应用程序
        • 从日志文件夹(inetpub/logs/LogFiles/{site},授予对应用程序池身份的访问权限
        • 将 LogParser.dll 和 Interop.MSUtil.dll 复制到站点的 bin 文件夹中

        【讨论】:

          【解决方案4】:

          我用来解决问题的步骤如下:

          1. 转到 IIS 管理器
          2. 导航到相关网站
          3. 为您的默认网站启用 ASP.NET 身份验证

          这应该可以解决权限问题。

          【讨论】:

            【解决方案5】:

            为站点创建专用应用程序池并将其标识切换为“网络服务”。为我解决了这个问题

            【讨论】:

              【解决方案6】:

              我必须尝试三件事:

              1-查看LogParser.dll是否注册到regsvr32.exe;
              2- 将应用程序池的权限更改为网络服务;
              3- 在应用程序池上接受 32 位应用程序;

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2010-10-24
                • 2012-12-21
                • 2010-12-23
                • 2017-06-25
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2016-09-18
                相关资源
                最近更新 更多