我有一个ASP.net应用程序,可以打开某个函数的outlook。示例代码:
Microsoft.Office.Interop.Outlook.Application oApp = new Microsoft.Office.Interop.Outlook.Application();
Microsoft.Office.Interop.Outlook.NameSpace oNS = oApp.GetNamespace("mapi");
oNS.Logon(null, null, true, true);
Microsoft.Office.Interop.Outlook.MailItem oMail = (Microsoft.Office.Interop.Outlook.MailItem)oApp.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
oMail.Subject = "Sample Subject";
oMail.To = "test@yahoo.com";
oMail.HTMLBody = "Sample Paragraph";
oMail.Display(false);
oApp = null;
oNS = null;
oMail = null;
当我在Visual Studio中运行它时,它运行得很好。之后我将它发布到IIS 5.1,所以基本上我使用的是windowsxp机器。
现在我已经在IIS上使用发布的版本运行了它,并且我得到了错误"检索CLSID为{0006F03A-0000-0000-000000000046}的组件的COM类工厂"。
我已经通过在web.config文件上进行模拟来修复它。现在应用程序已成功运行,没有出现错误。
但现在的问题是,它似乎没有打开outlook,我尝试过在aspnet_wp.exe上通过附加到进程来调试它,并能够附加到一个断点,它似乎通过了所有的行而没有抛出错误,但我就是没有打开outview。
我是否缺少要在IIS级别上配置的内容?谢谢
尝试在具有访问权限的用户下运行web应用程序的应用程序池。或者,您甚至可以尝试重新启动iis并尝试。它主要是由于安全问题引起的。当我在谷歌上搜索这个问题时,我得到了这个Aspnet安全上下文
建议可能有助于解决问题。
- 在webconfig或iis中输入身份凭据
- Windows\Microsoft.NET\Framework\v2.0.50727\临时ASP.NET文件授予写入权限