没有SQL的.NET Timer服务

时间:2013-07-16 10:10:03

标签: c# .net timer windows-services

我正在编写.NET Windows服务,其工作是监视存储在文档数据库(MongoDB)中的文档的状态。用户将通过网站不时修改这些文档。 Windows服务需要每隔5分钟运行一次,对所有文档(数百个)进行轮询,检查文档并查看是否需要用户(真人)注意任何文档。将通过电子邮件通知用户所需的操作。

该服务将全天候运行。混合中没有当前的SQL数据库,我真的不希望维护SQL数据库的开销和费用只是为了支持这个要求。我和MongoDB一起有MSMQ。我会考虑使用WWF,但是有一个不依赖于SQL的轻量级工作流持久性存储吗?

有人可以建议支持这项要求的最佳策略吗?

感谢。

1 个答案:

答案 0 :(得分:0)

由于您可以轻松编写自己的工作流持久性实现,我建议您将数据存储在XML文件中。 您可以在此处找到XML持久性实现的示例:XML Instance Store

不确定在您的案例中将启动多少个工作流程。如果数量足够大,可能会使用SQL Server,因为使用XML文件的方法可能会导致并发性和性能问题。