2012-02-03 86 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

相關問題