Tutorials Microservices with .NET
Integrating RabbitMQ in ASP.NET Core Web API — Complete Guide
Integrating RabbitMQ in ASP.NET Core Web API — Complete Guide: free step-by-step lesson with examples, common mistakes, and interview tips — part of Microservices with .NET on Toolliyo Academy.
On this page
Microservices with .NET · Lesson 31 of 131
Integrating RabbitMQ in ASP.NET Core Web API
Beginner ✓ → Intermediate → Advanced → Professional
Intermediate · 2 — Building services · ~6 min · Module 4: RabbitMQ and Messaging
What is this?
Integrating RabbitMQ means adding a .NET client (MassTransit or RabbitMQ.Client), declaring exchanges/queues, and publishing or consuming messages from your Web API host or a worker.
Why should you care?
Order.Api must notify Payment without waiting. RabbitMQ decouples services in time and failure domains.
See it live — copy this example
Create a Web API project (dotnet new webapi), paste the code, then run dotnet run.
builder.Services.AddMassTransit(x =>
{
x.UsingRabbitMq((ctx, cfg) =>
{
cfg.Host("localhost", "/", h => { h.Username("guest"); h.Password("guest"); });
cfg.ConfigureEndpoints(ctx);
});
x.AddConsumer<OrderPlacedConsumer>();
});
// Publish from Order.Api
await _publishEndpoint.Publish(new OrderPlacedEvent(order.Id, order.CustomerId, order.Total));
Run Example »
Edit the code and click Run — like W3Schools Try it Yourself.
What happened?
- MassTransit configures RabbitMQ host, serializers, and consumer endpoints.
- Publish is fire-and-forget from HTTP handler after DB commit.
Try it yourself
- Install MassTransit.RabbitMQ NuGet.
- Add OrderPlacedEvent record in Contracts project.
- Publish after SaveChanges in POST /orders.
- Change a string or route in the example and save — watch Swagger or the RabbitMQ Management UI update.
- Break the code on purpose (remove a semicolon), read the error message, then fix it.
Remember
MassTransit simplifies RabbitMQ in .NET. Publish after successful save. Consumers live in same or separate host.