Replace internal resolver with helper methods for easy dependency injection registration.
public static class ServiceCollectionExtensions
{
public void AddCommandHandlers(this IServiceCollection services, params Assembly[] assemblies)
{
// Find all classes with CommandHandlers attribute, register them.
}
public void AddQueryHandlers(this IServiceCollection services, params Assembly[] assemblies)
{
// Find all classes with QueryHandlers attribute, register them for all implemented interfaces.
}
}
In .NET Framework using Autofac.Extensions.DependencyInjection:
var builder = new ContainerBuilder();
var services = new ServiceCollection();
services.AddCommandHandlers(typeof(UserHandlers).Assembly);
services.AddQueryHandlers(typeof(UserQueries).Assembly);
builder.Populate(serviceCollection);
Replace internal resolver with helper methods for easy dependency injection registration.
In .NET Core:
In .NET Framework using Autofac.Extensions.DependencyInjection: