Publish/Subscribe samples with RabbitMQ in .NET

25,138

Solution 1

The example you link to uses simple queueing without an exchange, which ensures that only a single consumer will handle the message. To support pub/sub in RabbitMQ, you need to first create an Exchange, and then have each subscriber bind a Queue on that Exchange. The producer then sends messages to the Exchange, which will publish the message to each Queue that has been bound to it (at least with the simple Fanout exchange type. Routing can be achieved with Direct and Topic exchanges.)

For a Java sample (which could be converted to C# pretty easily) please see here.

Edit: Updated .Net version can be found here

Solution 2

I've added a new tutorial about this Getting Started With RabbitMQ in .net

Solution 3

There are also some official sources now.

Share:
25,138

Related videos on Youtube

0x49D1
Author by

0x49D1

Console.WriteLine("Another C# developer with blog on https://t.me/x4516");

Updated on July 09, 2022

Comments

  • 0x49D1
    0x49D1 almost 2 years

    I've built this sample: Getting Started With RabbitMQ in .net, but made 2 programs:

    • one-publisher
    • one-subscriber

    I'm using BasicPublish to publish and BasicAck to listen as in example. If I run one publisher and several subscribers-on every "send message" from publisher- only one subscriber gets it. So that there is some order (as subscribers were started) in which publisher sends message to subscribers, and I want to send one message to all subscribers. What is wrong with that sample? May be you can provide working sample of publisher/subscribers message exchange via RabbitMq?

  • 0x49D1
    0x49D1 almost 13 years
    Just changed that java code to c# and it worked. Thank you.
  • TrueWill
    TrueWill over 12 years
    Thank you - so far your example is the only one I've seen that does asynchronous subscriptions in .NET. Calling Invoke on a delegate seems "retro" - is there a better way?