代码之家  ›  专栏  ›  技术社区  ›  krisdyson

Windows Azure队列、WCF、MSMQ集成

  •  1
  • krisdyson  · 技术社区  · 16 年前

    我有一个场景需要一个桌面控制台应用程序与一个Windows Azure队列通信…最重要的是,消息最终由服务器接收。此外,桌面应用程序有时可能会与Internet断开连接。在传统的wcf+msmq方法中,您可以发送一条消息,该消息将缓存在msmq中,直到msmq能够到达服务器的msmq并发送该消息。当WindowsAzure是服务器端时,它的等效性是什么?

    是否可以使用相同的方法,其中msmq只与Windows Azure队列通信,而不是与Windows服务器上的msmq通信?

    也许Windows Azure队列是错误的方法?我听说过消息缓冲区,但不知道这是什么(还没有!).

    谢谢你的帮助

    克里斯

    3 回复  |  直到 16 年前
        1
  •  1
  •   Jake    16 年前

    您可以编写一个msmq侦听器服务,当重新建立到Internet的连接时,该服务完成将消息移动到Azure队列。我不认为这太难。

    更新 也许我的回答不清楚。基于这个问题,客户机偶尔会连接到Internet,因此您需要一种方法来放置消息,直到管道之间的问题得到解决。使用Windows最简单的方法是将消息放入msmq本地队列。然后有一个服务监视该队列。如果有一条消息并且它可以到达云中承载的服务,那么它将发送该消息。一旦消息被发送,它就可以从队列中删除。

        2
  •  0
  •   Dario Solera    16 年前

    为了将消息排队到Azure队列存储,您必须连接到Internet。如果你想处理断开连接的场景,那完全取决于你自己。我将使解决方案非常简单,并使用本地存储(如SQL Server Compact),然后在连接后立即发送消息,可能需要借助Windows服务(这样您就不需要运行桌面应用程序)。

        3
  •  0
  •   Mark Willsher    16 年前

    您可以使用Azure AppFabric服务总线消息缓冲区执行此操作-不需要使用队列。查看以下网站上的相关示例下载: http://www.idesign.net/idesign/DesktopDefault.aspx?tabindex=5&tabid=11 -他们应该比我更好地回答你的问题。

    当做

    推荐文章