Pisum.Mediator (1.10.0)
Published 2026-04-14 13:51:56 +02:00 by mschnecke
Installation
dotnet nuget add source --name pisum --username your_username --password your_token dotnet add package --source pisum --version 1.10.0 Pisum.MediatorAbout this package
Pisum Mediator Library.
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<,>));
});
Dependencies
Details
2026-04-14 13:51:56 +02:00
Assets (2)
Versions (1)
View all
NuGet
4
pisum.net
43 KiB
pisum.mediator.1.10.0.nupkg
42 KiB
pisum.mediator.nuspec
1.0 KiB
1.10.0
2026-04-14