Always will be ready notify the world about expectations as easy as possible: job change page
Apr 24, 2022

MediatR with .NET 6.0


What is MediatR? Why do we need it? And How to use it?

Mediator Pattern - The mediator pattern ensures that objects do not interact directly instead of through a mediator. It reduces coupling between objects which makes it easy to maintain the code. Mediator pattern unified the service interfaces around a common design, one request in, one response out.

MediatR is a simple, unambitious mediator implementation in .NET.

Let’s now dive deeper into the working of a simple web API with MediatR. Complete code for the same can be found here.

1. Create a new web API project.

OpenAPI support makes it easy to test the API.

2. Create a folder with these three classes.

Solution Hierarchy

2.1 ApiRequestModel: This class represents a request for API.


IRequest<> It represents a request with a response.

2.2 ApiResponseModel : This class represents a response of API.


2.3 ApiHandler: And this class keeps the logical part.


IRequesthandler<> binds request and response with handler class. The logic of API is kept in the Handle method.

3. Now let’s check the controller. I wrote a base controller that would be inherited by other controllers.


ISender is responsible for communication between different mediator-linked objects. It sends a request through a mediator pipeline to be handled by a single handler.

In this code, HomeController is inheriting the base controller. ApiController communicates with ApiHandler based on ApiRequestModel and ApiResponseModel pair.


You can test this API using swagger (OpenAPI).

From the above example, you can see a separation of request, response, logic, and communication using MediatR. And if you want to move to CQRS (Command and Query Responsibility Segregation) pattern, the mediator makes the transition seamless.

Feb 7, 2021
Author: Manikanta Pattigulla
What is a helper page?Helper Page enables you to see the list of Web API endpoints, so that the consumers can easily understand what HTTP method will do.What is the use of helper page?Basically, if you work on traditional Web...
Jan 15
Author: MESCIUS inc.
HyperText markup language, commonly referred to as HTML, has been the foundation of creating and navigating web pages from the very beginning. Its significance further increases provided how the world is moving towards digitization. Hence, working with this format just...
Dec 1, 2020
Author: Guy Levin
While there are as many proprietary authentication methods as there are systems which utilize them, they are largely variations of a few major approaches. In this post, I will go over the 4 most used in the REST APIs and...
Mar 22
Author: Dayanand Thombare
IntroductionDelegates are a fundamental concept in C# that allow you to treat methods as objects. They provide a way to define a type that represents a reference to a method, enabling you to encapsulate and pass around methods as parameters,...
Send message
Your name

© 1999–2024 WebDynamics
1980–... Sergey Drozdov
Area of interests: .NET Framework | .NET Core | C# | ASP.NET | Windows Forms | WPF | HTML5 | CSS3 | jQuery | AJAX | Angular | React | MS SQL Server | Transact-SQL | ADO.NET | Entity Framework | IIS | OOP | OOA | OOD | WCF | WPF | MSMQ | MVC | MVP | MVVM | Design Patterns | Enterprise Architecture | Scrum | Kanban