对于以下情况,我需要您的建议。
任务相当简单。我必须创建一个处理邮件(Exchange Server、阅读邮件)、处理文件(将附件保存到特定文件夹等)并将结果写入数据库(从邮件项创建文档或写入中间结果)的 Windows 服务。
该服务是很久以前创建的,现在运行良好。但是有一个大问题:它经常挂起。它挂在一些奇怪的地方,监视我们服务的同事(在我们客户端)必须手动重新启动它。此外,他们不会重新启动它。他们必须终止服务进程并从 SCM 重新启动它。
我所拥有的:用 C# 编写的 Windows 服务,可与 CDO 1.21 库一起使用。这个库肯定是不受管理的。我们使用这个库是因为我们必须使用 Exchange Server 处理 MAPI 协议。
问题是什么:正如我所写,主要问题是挂起。此外,我们必须完全使用 MAPI。不是 POP3,也不是 Exchange Web 服务,也不是任何其他协议。
我想要的是:稳定的 Windows 服务与 Exchange Server 一起工作。最好用 C# 编写。
那么你有什么建议呢?我没有找到任何可以使用 MAPI 的托管库,只有一些开源项目,但我没有尝试过。还有一些名为 CDO 的库,但它也是非托管的。可能我必须用 C++ 重写服务,但我对它不是很熟悉。我在这里找到了一个例子:http: //code.msdn.microsoft.com/windowsdesktop/CppWindowsService-cacf4948但我还必须使用文件和 SQL。这一切都准备好在 C# 中工作了。有任何想法吗?