C# 检索组件的COM类工厂时出现CLSID错误:80070005访问被拒绝

C# 检索组件的COM类工厂时出现CLSID错误:80070005访问被拒绝,c#,asp.net,outlook,C#,Asp.net,Outlook,我正在尝试使用asp.net应用程序打开outlook。我的机器运转良好。现在我正在将应用程序部署到服务器上。我得到了这个例外 Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x

我正在尝试使用asp.net应用程序打开outlook。我的机器运转良好。现在我正在将应用程序部署到服务器上。我得到了这个例外

Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).
我三天来一直试图解决这个异常。我在谷歌上搜索了很多

我试过的 他们说我必须去DCOM配置,我去了,但是我没有找到MicrosoftOfficeOutlook条目

然后我打开一个cmd,输入mcc-32,然后添加组件服务器。之后,我看到了outlook条目。我先转到属性,然后转到安全选项卡,然后更改其中的三个选项以允许everyone用户访问。但我一直有这个问题

请注意,我对这两个条目进行了更改

Microsoft Outlook Commadn Button

outlook message attachment
然后,我将应用程序bool的用户更改为服务器的管理员帐户,但问题一直存在

请帮帮我,我试了很多,真的很想解决,但我解决不了

我正在尝试使用asp.net应用程序打开outlook

Microsoft目前不建议也不支持从任何无人参与、非交互式客户端应用程序或组件(包括ASP、ASP.NET、DCOM和NT服务)自动化Microsoft Office应用程序,因为在该环境中运行Office时,Office可能会表现出不稳定的行为和/或死锁

如果您正在构建一个在服务器端上下文中运行的解决方案,那么您应该尝试使用安全的组件来无人值守地执行。或者,您应该尝试找到至少允许部分代码在客户端运行的替代方案。如果使用服务器端解决方案中的Office应用程序,该应用程序将缺少许多成功运行所需的功能。此外,您将面临整体解决方案稳定性方面的风险


作为一种解决方法,您可以使用低级API-扩展MAPI。或者该API周围的任何其他第三方包装,例如Redemption。

ASP.NET worker进程在哪个用户下运行?有可能该用户无法访问您试图访问的outlook收件箱。@simonatrcl由于某种原因,我不知道发生了什么,该错误消失了,我又遇到了一个新错误。您能帮忙吗?您复制了这个问题的答案,我已经检查过了。这是此类问题的标准答案。