需要有关Windows服务和CDO的建议

时间:2014-01-26 14:14:25

标签: service exchange-server managed mapi cdo.message

我需要你的建议以下情况。

任务很简单。我必须创建一个与邮件(Exchange Server,阅读邮件)一起使用的Windows服务,使用文件(将附件保存到特定文件夹等)并将结果写入数据库(从邮件项创建文档或编写中间结果)。 / p>

此服务很久以前就已创建,现在正在运行。但是有一个大问题:它经常挂起。它挂在一些陌生的地方和同事(在我们的客户端),监控我们的服务必须手动重启它。此外,他们不会重新启动它。他们必须杀死服务的过程并从SCM再次启动它。

我拥有:用C#编写的Windows服务,与CDO 1.21库一起使用。这个库肯定是不受管理的。我们使用此库是因为我们必须使用Exchange Server处理MAPI协议。

问题是什么:正如我所写,主要问题是悬挂。此外,我们必须与MAPI完全一致。不是POP3既不是Exchange Web服务也不是任何其他协议。

我想要的是:使用Exchange Server的稳定Windows服务。并且它是可取的,它是用C#编写的。

那你能建议什么?我没有找到任何托管库来使用MAPI,只有一些开源项目,但我没有尝试。还有一些名为CDO的库,但它也是不受管理的。可能我必须用C ++重写服务,但我不是很熟悉它。我在这里找到了一个例子:http://code.msdn.microsoft.com/windowsdesktop/CppWindowsService-cacf4948但我还必须处理文件和SQL。这一切都准备好在C#中工作。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

你知道哪些CDO电话挂了吗?请记住,CDO 1.21已经超过10年没有更新(至少在功能方面)。

有一个很好的理由说明没有托管库可以使用MAPI - 您真的需要C ++或Delphi才能使用它。有一个名为MAPI33的库,但我不认为它正在开发或销售。

你看过Redemption了吗?它的RDO family of objects提供了CDO 1.21的所有功能以及更多功能。