Dependency injection extensions for automatic registration of MiddleMan.Zero handlers in .NET applications.
$ dotnet add package MiddleMan.Zero.DependencyInjectionDependency injection extensions for automatic registration of MiddleMan.Zero handlers.
This package provides extension methods for IServiceCollection to automatically discover and register all MiddleMan.Zero handlers in your application.
using Microsoft.Extensions.DependencyInjection;
var services = new ServiceCollection();
// Register all handlers with transient lifetime (default)
services.AddMiddleManZero();
// Register handlers with scoped lifetime
services.AddMiddleManZero(ServiceLifetime.Scoped);
// Register handlers with singleton lifetime
services.AddMiddleManZero(ServiceLifetime.Singleton);
var builder = WebApplication.CreateBuilder(args);
// Add MiddleMan.Zero handlers
builder.Services.AddMiddleManZero();
var app = builder.Build();
public class OrdersController : ControllerBase
{
private readonly IHandleAsync<GetOrderRequest, Order> _handler;
public OrdersController(IHandleAsync<GetOrderRequest, Order> handler)
{
_handler = handler;
}
[HttpGet("{id}")]
public async Task<IActionResult> GetOrder(int id)
{
var request = new GetOrderRequest { OrderId = id };
var result = await _handler.HandleAsync(request);
return result.ToActionResult();
}
}
dotnet add package MiddleMan.Zero.DependencyInjection
The AddMiddleManZero extension method:
IHandleAsync<> or IHandleAsync<,>