【问题标题】:Using MSMQ - System.Messaging versus WCF使用 MSMQ - System.Messaging 与 WCF
【发布时间】:2010-11-21 11:16:31
【问题描述】:

我必须将 VB 6.0 应用程序移植到 VB.Net(框架 3.5)。该应用程序大量使用 MSMQ。我试图弄清楚使用 WCF 优于良好的 ole System.Messaging 有什么优势。使用 System.Messaging 时是否有任何潜在的阻碍?

【问题讨论】:

    标签: .net wcf vb6 system.messaging


    【解决方案1】:

    使用 WCF 为您提供了一条清晰的前进道路。虽然我怀疑 System.Messaging 会走向任何地方(请参阅 System.Runtime.Remoting),但新的开发将发生在 WCF 中,它使您有机会在其他技术出现时迁移到它们。它使您摆脱了与特定传输实现的束缚。

    WCF 编程模型也非常干净和讨人喜欢。

    【讨论】:

    • 我检查了System.Runtime.Remoting summary on MSDN,但没有看到对 System.Messaging 的引用。您能否更具体地说明您希望我们在 Remoting 中看到什么?
    • System.Messaging 不会消失,就像 System.Remoting 不会消失一样。它们都是根深蒂固的技术,因此在它们消失之前,请期待大量警告。
    【解决方案2】:

    您应该查看Motley Queue website. System.Messaging 与 WCF 进行了很好的比较。 WCF 将变得更加干净和易于使用。

    【讨论】:

      【解决方案3】:

      我有点不同意 WCF 是否比 System.Messaging 更容易/更干净,让我们面对现实吧,它有一个非常简单的 API(总体而言)并且使用起来相对简单,如果你只关心这些的话。不过,WCF 确实有一些不错的东西,但无论如何也不简单。

      至于您是否会发现任何问题,嗯...这很大程度上取决于您的 VB 应用程序当前如何使用 MSMQ 以及它正在发送什么样的数据。您将使用 MsmqIntegrationBinding 绑定,这在一定程度上有所帮助,但如果您的 VB 应用程序不以 WCF 可以开箱即用的格式发送消息,您可能需要使用一些技巧来成功处理消息反序列化。

      【讨论】:

        【解决方案4】:

        我个人很喜欢 MSMQ,并且愿意。

        对我来说,主要的“陷阱”是每条消息限制为 4meg。如果您要序列化一个大型对象图,这是一个问题,但只需先序列化到磁盘并发送文件名即可轻松解决。

        MSMQ 可能无法获得“新功能”,正如其他一位发帖人所评论的那样,但恕我直言,它很稳定,非常可扩展,并且拥有我需要的所有功能。

        【讨论】:

          【解决方案5】:

          我认为来自“Motley Queue”网站的这句话(“web”:优秀的链接!)总结得最好:

          *WCF 编程模型以您的业务运营为中心。有了它,您可以停止管理您的消息事务、设置消息属性、在队列中搜索消息、检查 NACKS、重试消息等。相反,您可以开始从业务操作的角度思考世界(例如 CreatePurchaseOrder)并专注于关于你的业务逻辑。 把乏味的事情交给 WCF。 *

          简而言之,这就是 WCF 试图实现的目标 - 让您摆脱大量管道和复杂的工作,让您专注于想要解决的业务问题。

          我投票支持 WCF! :-)

          马克

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-01-25
            • 1970-01-01
            • 1970-01-01
            • 2016-08-11
            • 2012-05-02
            • 2013-02-28
            • 2012-11-05
            • 1970-01-01
            相关资源
            最近更新 更多