我正在尝试编写一个通过 rabbitMQ 绑定(bind)工作的 wcf 服务。我能够成功创建一个服务器和一个客户端,并让客户端通过队列向服务器发送消息。我对2个问题感到困惑。

  • 一旦服务关闭,队列就会被删除。有没有办法配置 wcf 和 rabbitMQ 以使队列持久化?这样,如果我的服务器崩溃,我就不必担心丢失数据。
  • 我似乎无法控制队列的名称。当我运行 rabbitmqctl.bat list_queues 时,我看到队列被称为 amq.gen-3IgZD30XvTEQWNRsezSUUA== 。有没有办法控制队列的名称?
  • 最佳答案

    WCF 绑定(bind)无法做到这一点。有关详细信息,请参阅 this 邮件列表线程。

    基本上,您无法通过 WCF 控制队列名称,这意味着您只能使用匿名队列(就像您看到的那样),反过来,这意味着您只能使用非持久队列。

    如果您需要比 WCF 绑定(bind)提供的更多控制,您应该考虑使用完整的 .NET 客户端。它非常易于使用,并且有一堆 tutorials 可以帮助您入门(它们使用 Java,但 .NET API 非常相似)。

    关于wcf - 带有WCF和持久队列的RabbitMQ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8015840/

    10-16 17:12