[Enhancement] Add extensions methods to dynamically add and subscribe to integration event handlers
ErikHakobyan opened this issue · comments
Now
builder.Services.AddTransient<ProductPriceChangedIntegrationEventHandler>();
builder.Services.AddTransient<OrderStatusChangedToShippedIntegrationEventHandler>();
builder.Services.AddTransient<OrderStatusChangedToPaidIntegrationEventHandler>();
var eventBus = app.Services.GetRequiredService<IEventBus>();
eventBus.Subscribe<ProductPriceChangedIntegrationEvent, ProductPriceChangedIntegrationEventHandler>();
eventBus.Subscribe<OrderStatusChangedToShippedIntegrationEvent, OrderStatusChangedToShippedIntegrationEventHandler>();
eventBus.Subscribe<OrderStatusChangedToPaidIntegrationEvent, OrderStatusChangedToPaidIntegrationEventHandler>();
After
builder.Services.AddIntegrationEventHandlers(Assembly.GetExecutingAssembly());
app.SubscribeIntegrationEventHandlers(Assembly.GetExecutingAssembly());
I have already implemented and tested this functionality, which works fine and removes unnecessary lines of code from the startup.