2012-02-03 53 views
0

我有一个ASP.net应用程序可以打开某个功能的展望。 示例代码:在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 = "[email protected]"; 
     oMail.HTMLBody = "Sample Paragraph"; 
     oMail.Display(false); 

     oApp = null; 
     oNS = null; 
     oMail = null; 

,当我通过Visual Studio运行它,这是工作就好了。 之后,我发布到IIS 5.1,所以基本上我使用Windows XP的机器。

现在我已经使用IIS上发布的版本上运行它,我得到了错误“与CLSID {0006F03A-0000-0000-C000-000000000046}检索COM类工厂组件”。

我已经通过在web.config文件上放置了一个模拟来修复它。现在应用程序正常运行,没有错误。

但现在的问题是它似乎并没有打开前景,我试图通过附加aspnet_wp.exe进程调试它,并能够附加到一个断点,它似乎通过所有的行没有抛出一个错误,但我只是不打开前景。

我是否缺少在IIS级别配置的东西? 谢谢!

+1

每当我看到运行在服务器上的“MS Office”时,我不得不哭泣。不要这样做。 Office不应该在服务器上运行。特别是对于Outlook,你必须处理配置文件等。如果你想发送电子邮件使用SmtpClient和MailMessage类。 – gsharp 2012-02-03 06:49:12

+0

哈哈没错,我认为你之前已经处理过这个问题,而且你知道它头上的痛苦。无论如何感谢您的建议,实际上这就是我现在想要做的:) – 2012-02-03 07:13:21

+0

不错的选择:-) SmtpClient虽然很容易。谷歌上有大量的样本。玩得开心发送电子邮件。 – gsharp 2012-02-03 07:35:51

回答

0

尝试在具有访问权限的用户下运行Web应用程序的应用程序池。或者甚至可以尝试重新启动iis并尝试。它基本上是由于安全问题而引起的。当我GOOGLE了这个问题,我得到了这个Aspnet Security contexts

建议可能有助于解决问题。

  1. 在webconfig或IIS
  2. Windows中输入身份凭证\ Microsoft.NET \框架\ V2.0.50727 \临时ASP.NET文件给写权限。
+0

1.我把这个webconfig 身份冒充=“真” 的userName =“” 密码=“<我的帐户密码” /> 2. 做, 它没有工作..和有在IIS 5.1上没有应用程序池,它不应该是这样,因为它不会引发任何有关安全性的异常 – 2012-02-03 06:55:06

相关问题