如何使用Windows Phone 8应用程序的消息队列?

时间:2014-08-18 10:07:39

标签: wcf windows-phone-8 rabbitmq

我有一个Windows Phone 8应用程序,它使用basicHttpBinding与WCF服务进行通信。该服务托管在IIS7上(而不是使用Windows azure)

由于服务可能因任何原因而失效,我正在探索使用消息队列来提高系统的可靠性。

我查看了WCF中提供的NetMsmqBinding - 但看起来WP8客户端不支持此绑定。 我也在考虑使用RabbitMQ,但是找不到任何使用WCF的WP8客户端的工作示例。

请有人建议什么是最好的前进方向?任何示例代码(或链接)都将非常感激。

由于

1 个答案:

答案 0 :(得分:1)

首先,netMsmqBinding不能在互联网上使用。这是因为它使用的是未通过http公开的MSMQ。

当您通过互联网拨打资源时,您需要将不可靠性纳入您的应用程序。由于您可能会遇到number of possible problems,因此通常不会出现if,但是何时失败并且how your application deals with this很重要。

即便如此,您可以采取一些措施来最大限度地减少您遇到的可靠性问题,其中一个问题涉及排队。

排队可能有用的地方是离线执行大型,复杂和长时间运行的进程。由于对同步实现的此类进程的调用通常会超时,因此可以通过使实际处理调用异步来获得大量可靠性。

例如,让Web服务器通过消息队列调用某些脱机进程并返回正在处理其请求的客户端是相当普遍的。因为这样做很便宜,所以呼叫失败的可能性要小得多。一旦离线处理完成,您的问题就变成了return the response to the client的方法之一。