Skip to content

A library to provide an easy api when working with RabbitMQ on .NET

License

Notifications You must be signed in to change notification settings

simonbaas/EasyRabbitMQ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EasyRabbitMQ

A library to provide an easy api when working with RabbitMQ on .NET

Installation

TBA

Using

Publish

Queue

using (var publisher = EasyRabbitMQConfigure
    .ConnectTo("amqp://user:password@amqp.local")
    .AsPublisher())
    {
        var message = new { MessageId = Guid.NewGuid() };

        publisher.PublishQueue("test.queue", message);
    }

Exchange

using (var publisher = EasyRabbitMQConfigure
    .ConnectTo("amqp://user:password@amqp.local")
    .AsPublisher())
    {
        var message = new { MessageId = Guid.NewGuid() };

        publisher.PublishExchange(
            exchange: "test",
            routingKey: "test",
            message: message);
    }

Subscribe

Queue

using (var subscriber = EasyRabbitMQConfigure
    .ConnectTo("amqp://user:password@amqp.local")
    .AsSubscriber())
    {
        subscriber
            .Queue("test.queue")
            .HandleWith(message =>
            {
                Console.WriteLine("Message received: " + message.Payload.MessageId);
                return Task.FromResult(0);
            });
    }

Exchange

using (var subscriber = EasyRabbitMQConfigure
    .ConnectTo("amqp://user:password@amqp.local")
    .AsSubscriber())
    {
        subscriber
            .Exchange(
                exchange: "test.exchange",
                queue: "test.queue",
                routingKey: "*")
            .HandleWith(message =>
            {
                Console.WriteLine("Message received: " + message.Payload.MessageId);
                return Task.FromResult(0);
            });
    }

About

A library to provide an easy api when working with RabbitMQ on .NET

Resources

License

Stars

Watchers

Forks

Packages

No packages published