using Microsoft.Extensions.DependencyInjection; namespace Selector.Events { public static class ServiceExtensions { public static IServiceCollection AddEvents(this IServiceCollection services) { services.AddEventBus(); services.AddEventMappingAgent(); services.AddTransient(); services.AddTransient(); return services; } public static IServiceCollection AddEventBus(this IServiceCollection services) { services.AddSingleton(); services.AddSingleton(sp => sp.GetRequiredService()); return services; } public static IServiceCollection AddEventMappingAgent(this IServiceCollection services) { services.AddHostedService(); return services; } } }