簡體   English   中英

從Windows Service啟動C#Microsoft.Office.Interop.Outlook

[英]C# Microsoft.Office.Interop.Outlook launch from Windows Service

我正在使用Microsoft.Office.Interop.Outlook執行以下操作:

  1. 讀取一個名為“待處理”的Outlook文件夾
  2. 從“待處理”文件夾下的所有電子郵件中獲取附件
  3. 將附件保存到硬盤文件夾
  4. 從保存的文件中讀取附件並上傳到我們的數據庫

如果我手動運行C#控制台應用程序,以上所有這些都可以正常工作。 當我從Windows Service啟動控制台應用程序時,有時也可以使用。 但是有時候沒有。 我在Stack的某個地方讀到Microsoft.Office.Interop.Outlook不是為Windows Services設計的。

通過Windows Service完成上述所有任務的最佳方法(快速,快速開發)是什么?

從Windows Service完成上述所有任務的最佳方法(快速,快速開發)是什么?

簡短答案- 您不能。

COM Automation服務器(例如Microsoft Office的服務器)是基於GUI的,因此需要消息泵 如果您認為Windows服務通常用戶登錄之前運行,則無法啟動嘗試顯示GUI的進程。 它只會鎖定。

有人可能會爭辯說,您總是可以等到用戶登錄Windows時,才可能違反Windows服務的目的-不需要用戶登錄。 另外,如果Windows要重新啟動,您的應用程序將在用戶再次登錄后才能運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM