MediatR
MediatR implementation in RCommon.
MediatR is one of the most popular Mediator pattern implementations in the .NET community. It is well documented and well used.
Usage
builder.Services.AddRCommon()
.WithMediator<MediatRBuilder>(mediator =>
{
// Registering abstracted mediator requests
mediator.AddRequest<CreateLeaveAllocationCommand, BaseCommandResponse, CreateLeaveAllocationCommandHandler>();
mediator.AddRequest<DeleteLeaveAllocationCommand, DeleteLeaveAllocationCommandHandler>();
mediator.AddRequest<UpdateLeaveAllocationCommand, UpdateLeaveAllocationCommandHandler>();
mediator.AddRequest<GetLeaveAllocationDetailRequest, LeaveAllocationDto, GetLeaveAllocationDetailRequestHandler>();
mediator.AddRequest<GetLeaveAllocationListRequest, List<LeaveAllocationDto>, GetLeaveAllocationListRequestHandler>();
// Conventional dependency injection w/ MediatR
mediator.Configure(config =>
{
config.RegisterServicesFromAssemblies((typeof(ApplicationServicesRegistration).GetTypeInfo().Assembly));
});
// Utilizing MediatR pipeline registrations
mediator.AddLoggingToRequestPipeline();
mediator.AddUnitOfWorkToRequestPipeline();
});
Common MediatR Pipeline Behaviors
Validator BehaviorUnit of Work BehaviorLogging BehaviorLast updated