Windows服务来托管WCF以及其他逻辑

时间:2013-09-16 09:25:14

标签: c# wcf windows-services

想知道在单个Windows服务中托管多个WCF服务是否是一个好习惯,除此之外,同样的Windows服务还会执行一些其他逻辑,例如使用Timer对象或类似的东西来运行周期性任务。

是否建议将这一切都放在一个Windows服务中,或者您是否建议将其拆分为多个服务?

由于

2 个答案:

答案 0 :(得分:1)

我想创建两个Windows服务:一个用于托管多个WCF服务,另一个用于运行作业。这样,如果您需要停止第二个,您也不必关闭您的Web服务。

顺便说一下,我经常使用Quartz.NET作为工作安排框架。

答案 1 :(得分:0)

我认为这取决于您是将单个单元提供的功能,还是可以单独使用的几个单元。

如果所有功能都属于一个,当然,您可以将它们全部归为一项服务。您可以将功能作为自己的任务运行,即在自己的线程中运行。然后,当服务启动时,所有功能都可用,当服务停止或暂停时,所有功能都会发生这种情况。

如果功能之间没有这种直接联系和/或您希望它们可以独立启动和停止,那么最好的选择是恕我直言,使它们成为独立的服务。