Pisum.Mediator 1.9.0

Pisum.Mediator

A .NET mediator library implementing the Mediator pattern for request/response and publish/subscribe messaging.

Supported Frameworks

  • .NET 8.0
  • .NET 9.0
  • .NET 10.0

Installation

dotnet add package Pisum.Mediator

Usage

Registration

services.AddMediator(cfg => {
    cfg.RegisterServicesFromAssembly(typeof(MyHandler).Assembly);
});

Request/Response

public record GetUserQuery(int Id) : IRequest<User>;

public class GetUserHandler : IRequestHandler<GetUserQuery, User>
{
    public Task<User> HandleAsync(GetUserQuery request, CancellationToken cancellationToken = default)
    {
        // Handle the request
    }
}

// Send request
var user = await mediator.Handle(new GetUserQuery(1));

Notifications

public record UserCreatedEvent(int UserId) : INotification;

public class UserCreatedHandler : INotificationHandler<UserCreatedEvent>
{
    public Task Handle(UserCreatedEvent notification, CancellationToken cancellationToken)
    {
        // Handle the notification
    }
}

// Publish notification
await mediator.Publish(new UserCreatedEvent(1));

Pipeline Behaviors

public class LoggingBehavior<TRequest, TResponse> : IPipelineBehavior<TRequest, TResponse>
    where TRequest : IRequest<TResponse>
{
    public async Task<TResponse> Handle(TRequest request, RequestHandlerDelegate<TResponse> next, CancellationToken cancellationToken)
    {
        // Before
        var response = await next();
        // After
        return response;
    }
}

// Register
services.AddMediator(cfg => {
    cfg.RegisterServicesFromAssembly(typeof(MyHandler).Assembly);
    cfg.AddOpenBehavior(typeof(LoggingBehavior<,>));
});

Showing the top 20 packages that depend on Pisum.Mediator.

Packages Downloads
Pisum.Result.Validation
Pisum Result Validation Library.
0
Pisum.Result.Validation
Pisum Result Validation Library.
7

Version Downloads Last updated
1.9.0 0 04/12/2026
1.6.0 32 10/09/2025