C# 日志分析器访问被拒绝错误
我使用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# 日志分析器访问被拒绝错误,c#,asp.net,iis,logging,logparser,C#,Asp.net,Iis,Logging,Logparser,我使用Logparser解析IIS日志并在网页上显示信息。在我的开发环境中一切正常,但一旦我将应用程序发布到服务器,就会出现以下错误: 由于以下错误,检索CLSID为{8CFEBA94-3FC2-45CA-B9A5-9EDACF704F66}的组件的COM类工厂失败:80070005访问被拒绝。(来自HRESULT的异常:0x80070005(E_ACCESSDENIED)) 描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源 异常详细信息
此错误的含义是什么?我如何解决此问题?您可能需要向服务器上运行此错误的用户授予运行该错误的DCOM权限。 DCOM配置位于组件服务中,您可以看到每个条目的GUID,因此您应该能够识别相关条目
然后编辑其安全权限,并授予相关用户启动和激活权限以及访问权限。此错误是由于缺少权限而产生的。
您需要向虚拟目录中的IIS用户/Guest授予读/写权限。IIS 7+可能未配置为运行32位应用程序。从应用程序池中,导航到高级设置,并启用32位应用程序 我遇到了与您描述的相同的问题,我采取的解决步骤包括:
- 在应用程序池下启用32位应用程序
- 从日志文件夹(inetpub/logs/LogFiles/{site})中,授予对应用程序池标识的访问权限
- 将LogParser.dll和Interop.MSUtil.dll复制到站点的bin文件夹
这将解决权限问题。为站点创建专用的应用程序池,并将其标识切换到“网络服务”。为我解决了此问题。我必须尝试三件事: 1-查看LogParser.dll是否已使用regsvr32.exe注册;
2-将应用程序池的权限更改为网络服务;
3-接受应用程序池上的32位应用程序