C# Windows应用程序的Windows服务&;Web应用程序技术选项-优缺点;欺骗

C# Windows应用程序的Windows服务&;Web应用程序技术选项-优缺点;欺骗,c#,wcf,web-services,windows-services,msmq,C#,Wcf,Web Services,Windows Services,Msmq,我们目前正在实施一项windows服务,该服务需要发布windows或web应用程序可以订阅的信息。发布的信息应主要由字符串组成,并将用于记录服务正在执行的任务,因此将有恒定的信息流发送到订阅的应用程序 我一直在研究MSMQ、WCF等技术,以及Nservicebus等ESB,但由于我对windows服务和应用程序订阅都非常陌生,因此到目前为止,很难了解它们各自的优势,以及哪种(如果有的话)最适合这类项目。熟悉这些选项的人能否提供这些技术的一些优点/缺点 为了更好地总结我前面的段落,该项目预计将在

我们目前正在实施一项windows服务,该服务需要发布windows或web应用程序可以订阅的信息。发布的信息应主要由字符串组成,并将用于记录服务正在执行的任务,因此将有恒定的信息流发送到订阅的应用程序

我一直在研究MSMQ、WCF等技术,以及Nservicebus等ESB,但由于我对windows服务和应用程序订阅都非常陌生,因此到目前为止,很难了解它们各自的优势,以及哪种(如果有的话)最适合这类项目。熟悉这些选项的人能否提供这些技术的一些优点/缺点

为了更好地总结我前面的段落,该项目预计将在以下条件下运行:

  • 消息从服务连续发布到任何订阅的应用程序
  • 通信应该是单向的(服务到应用程序),因此任何应用程序的停机时间都不会影响服务的工作
  • 该服务必须同时发布到windows应用程序和web应用程序
  • 未来,新的应用程序可能需要在不中断服务工作的情况下订阅(似乎是给定的,但正如我所说,我不熟悉这些选项)
  • 该程序的首选语言是C#

  • 非常感谢您抽出时间,如果您对这些或更合适的技术有任何建议,我们将不胜感激。

    MSMQ和WCF有很多选择。根据许多因素,有几种不同的方法和框架可以提供帮助

    如果你想自己做一些指导,我建议你看看Tom Hollanders的精彩帖子:

    如果您想使用现有的servicebus,如BizTalk或其他服务,还有其他更“完整”的选项

    另一个选项是自MSMQ 3.0以来提供的多播功能,该功能将支持一个发布者(您的windows服务)与多个接收者(您的windows应用程序和Web应用程序)的场景。发送方和接收方都可以使用MsMqIntegration绑定与队列交互

    我建议你看看: