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