8

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

4

5 回答 5

7

I think this quote from the "Motley Queue" web site ("web": excellent link!) sums it up best:

*The WCF programming model is centered around your business operations. With it, you can stop managing your message transactions, setting message properties, searching for messages in a queue, checking for NACKS, retrying messages, etc. Instead you can start thinking of the world in terms of business operations (e.g. CreatePurchaseOrder) and focus on your business logic. Leave the tedium to WCF. *

That is in a nutshell what WCF tries to accomplish - relieve you of a lot of plumbing and intricasies and let you concentrate on your business problems you want to solve.

My vote is in for WCF! :-)

Marc

于 2009-08-21T05:28:38.087 回答
3

您应该查看Motley Queue 网站。 System.Messaging 与 WCF 有一个很好的比较。WCF 将变得更加干净和易于使用。

于 2009-08-20T20:24:55.310 回答
3

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

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

于 2009-08-21T03:34:45.447 回答
2

我个人喜欢 MSMQ,并且会同意。

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

正如另一位发帖人所评论的那样,MSMQ 可能不会获得“新功能”,但恕我直言,它是稳定的、非常可扩展的,并且具有我需要的所有功能。

于 2009-08-21T03:37:34.160 回答
1

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

WCF 编程模型也非常干净和令人愉悦。

于 2009-08-20T20:22:44.363 回答