【问题标题】:Windows Service to host WCF and also other logic托管 WCF 和其他逻辑的 Windows 服务
【发布时间】:2013-09-16 09:25:13
【问题描述】:

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

是否建议将所有这些都包含在一个 Windows 服务中,还是建议将其拆分为多个服务?

谢谢

【问题讨论】:

    标签: c# wcf windows-services


    【解决方案1】:

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

    顺便说一下,我经常使用Quartz.NET作为作业调度框架。

    【讨论】:

    • 感谢您将我指向 Quartz.NET,看起来是一个可行的调度解决方案
    【解决方案2】:

    我认为这取决于您是否将所提供的功能视为一个单元,或者可能是多个可以相互独立使用的单元。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-06
      • 2012-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多