我使用Microsoft.Office.Interop.Outlook
执行以下操作: -
如果我手动运行我的C#控制台应用程序,以上所有要点都可以正常工作。
当我从Windows服务启动控制台应用程序时,它也会工作。但有时候没有。
我在Stack中的某处读到Microsoft.Office.Interop.Outlook
不是为Windows Services设计的。
从Windows服务到上述所有任务的最佳方法(快速和快速开发)是什么?
答案 0 :(得分:3)
对于上述所有任务来自Windows服务的最佳方法(快速和快速开发)是什么?
简短回答 - 你做不到。
COM自动化服务器(例如Microsoft Office中的服务器)是基于GUI的,因此需要消息泵。如果您认为Windows服务通常之前运行登录用户,则无法启动尝试显示GUI的进程。它只会锁定。
有人可能会争辩说,你可以一直等到用户登录到Windows,但这有点会破坏Windows服务的目的 - 用户登录不是必需的。此外,如果Windows重新启动,您的应用程序将无法运行,直到用户再次登录。