Outlook尝试从服务器访问时出现问题

时间:2013-08-30 03:07:05

标签: c# asp.net .net com outlook

实际上,我正在尝试访问Outlook Distribution Lists 当我尝试使用Visual Studio运行时,一切正常在我的本地PC上工作 但是,当我host申请Windows Server 2012并尝试使用domain时,我会收到error。 我正在使用Outlook 2007 我在{64}的64 bit中安装了MS Office 2013 Windows Server版本。

我的代码如下:

Microsoft.Office.Interop.Outlook.Application OApplicaiton = new Microsoft.Office.Interop.Outlook.Application();   
var outlook = new Application().GetNamespace("MAPI");
var folder1 = outlook.GetDefaultFolder(OlDefaultFolders.olFolderContacts);
System.Threading.Thread.Sleep(5000);
foreach (var curr in folder1.Items.OfType<DistListItem>())
{
  Cmb_GlobalLists.Items.Add(curr.DLName);
}

和我的error是:

Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
谁能帮助我吗? PIA有什么关系吗?

2 个答案:

答案 0 :(得分:2)

如果您的应用和Outlook在不同的安全上下文中运行,则很可能会引发CO_E_SERVER_EXEC_FAILURE。应用程序是否以提升的权限运行(以管理员身份运行)?

答案 1 :(得分:0)

启动Internet信息服务(IIS) 右键单击应用程序的虚拟目录,然后单击“属性” 单击目录安全性选项卡。在“匿名访问和身份验证控制”下,单击“编辑” 确保未选中“匿名访问”复选框,并且“集成Windows身份验证”是唯一选中的复选框 配置ASP.NET以使用模拟的Windows身份验证,在WebConfig中使用以下配置 ... 身份验证模式=“Windows”/&gt; identity impersonate =“true”/&gt; ...