我使用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))。
这个错误意味着什么,我该如何解决?
答案 0 :(得分:0)
您可能需要让用户在服务器上运行DCOM权限才能运行它。 DCOM配置位于组件服务中,您可以看到每个条目的GUID,因此您应该能够识别相关条目。
然后编辑它的安全权限,并为相关用户提供启动和激活权限以及访问权限。
答案 1 :(得分:0)
由于缺少权限,此错误即将发生。 您需要为虚拟目录中的IIS Users / Guest授予读/写权限。
答案 2 :(得分:0)
IIS 7+可能未配置为运行32位应用程序。从应用程序池中,导航到“高级设置”和“启用32位应用程序”。
我遇到了您描述的相同问题,我采取的解决方法包括:
答案 3 :(得分:0)
我用来解决问题的步骤如下:
这应该清除许可问题。
答案 4 :(得分:0)
为网站创建专用应用程序池,并将其标识切换为"网络服务"。解决了我的问题
答案 5 :(得分:0)
我必须尝试三件事:
1-查看LogParser.dll是否已使用regsvr32.exe注册;
2-将应用程序池的权限更改为网络服务;
3-在应用程序池上接受32位应用程序;