我希望使用 Azure 的 AppFabric ServiceBus 来托管发布/订阅消息系统。我的客户都是运行混合应用程序的移动设备(android、Iphone 等)。
我的问题是:我的移动客户端可以接收来自 Azure 中托管的发布者的消息吗?在这一点上,我不太关心消息格式(Soap、XML、Json)。在这一点上,我更关心双向通信。
今天的答案有点意思。您始终可以使用队列或 MessageBuffers 在 .NET 和非 .NET 客户端之间进行通信。这实际上是一个 HTTP 轮询并且是基于 REST 的。但是,要使用 .NET SOAP 绑定,它为活动客户端执行基于“推送”的通信,您必须在其中拥有 .NET 堆栈。我的理解是,目前这是由于 TCP 框架的差异导致其他实现不兼容。
请记住,大多数移动客户端对通知使用长 HTTP 轮询操作。这就是 Exchange 在 Windows Mobile 设备上的工作方式,我相信 WP7 也有类似的通知功能。要真正在移动设备上很好地延长电池寿命,您可能必须采用这些技术。这与 AppFabric 服务总线无关。