2011-05-06 81 views
2

我正在开发使用WPF最有可能开发的新RIA。此应用程序将通过不可靠的网络(例如3G)与Web服务进行通信。通过不可靠的网络进行.NET客户端 - 服务器通信

如何实现类似情景可靠的通信 -

  1. A“创建”操作成功 在服务器/ WebService的(比如说一个新 记录的创建),但响应 含有记录标识符 无法将其返回给客户端 应用程序。

  2. 处理支付这应该是一个 原子操作

是MSMQ与WCF的最佳选择这里还是有已知的策略和模式,而无需使用的消息框架来实现对不可靠的网络(如3G)的可靠性?

回答

1

可以跨HTTP使用MSMQ,但如果使用开放源码RabbitMQ queuing framework,则会更好。它还包含一个WCF绑定,您应该可以将其用于您的场景。带有MSMQ的WCF非常适合在防火墙内部使用,但它并非针对互联网而设计的。

+1

在这种情况下,什么使RabbitMQ成为比MSMQ更好的选择? –

+1

简短的回答是,RabbitMQ被设计为使用HTTP作为其本地传输之一,MSMQ被设计为使用专有的二进制传输。 MSMQ稍后由微软调整为通过HTTP工作,但此功能不受现成的WCF绑定支持(netMsmqBinding无法通过HTTP工作)。 RabbitMQ提供了一个WCF绑定,可以让你通过HTTP进行消息传递。 Amazon EC2云服务甚至支持RabbitMQ,因此您知道它可以在互联网上使用。我想这不是一个答案太短... :) –

+0

更新我的意见RabbitMQ的本地传输是TCP,并有一个基于HTTP的实验性传输正在工作。对困惑感到抱歉。 –

相关问题