100  
csharp
Advertisement
Поиск  
Always will be ready notify the world about expectations as easy as possible: job change page
Apr 24, 2022

MediatR with .NET 6.0

Автор:
HungryWolf
Источник:
Просмотров:
1708

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.


ApiRequestModel

IRequest<> It represents a request with a response.

2.2 ApiResponseModel : This class represents a response of API.


ApiResponseModel

2.3 ApiHandler: And this class keeps the logical part.


ApiResponseModel

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.


ApiControllerBase

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.


ApiController

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.

Похожее
Jun 27, 2022
Author: Jeffery Cheng
This example shows you the gRpc global exception handler in the unary server handle in gRpc.In microservice, we have two ways to integrate with other internal services.The first way is the Request-Response pattern, which is the most famous.The Request-Response pattern...
Sep 6, 2023
Author: Kenji Elzerman
To write files with C#, you have to know how to do it. The basics aren’t rocket science. There are a few lines of code you need to know. But writing and reading files with C# is something every beginning...
Feb 2
With the release of C# 10 in November 2021 developers were introduced to a new concept called records, in this post I’ll outline some of the key differences between records and classes.For this comparison I’ll only consider the default/common approach...
2 недели назад
Author: Ankit Sahu
IntroductionIn this article, we are going to discuss What Entity Framework is and How we can implement it in the .Net 8 project. This is a continuation of part 1, so if you are new to this article, please check...
Написать сообщение
Почта
Имя
*Сообщение


© 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