public void RegisterTriggerConfiguration <TMessage>(string busName, Action <IHandlerConfigurator <TMessage> > configure) where TMessage : class { if (!BusTriggerConfigurations.TryGetValue(typeof(TMessage), out var busTriggerConfigurations)) { busTriggerConfigurations = new Dictionary <string, object>(); BusTriggerConfigurations.Add(typeof(TMessage), busTriggerConfigurations); } busTriggerConfigurations.Add(busName, new TriggerConfiguration <TMessage>(configure)); }
public IServiceBusTriggerConfiguration <TMessage> GetTriggerConfiguration <TMessage>(string busName) where TMessage : class { var configurations = new List <IServiceBusTriggerConfiguration <TMessage> >(); if (TriggerConfigurations.TryGetValue(typeof(TMessage), out var triggerConfiguration)) { configurations.Add((IServiceBusTriggerConfiguration <TMessage>)triggerConfiguration); } if (BusTriggerConfigurations.TryGetValue(typeof(TMessage), out var busTriggerConfigurations)) { if (busTriggerConfigurations.TryGetValue(busName, out var busTriggerConfiguration)) { configurations.Add((IServiceBusTriggerConfiguration <TMessage>)busTriggerConfiguration); } } return(new CompositeTriggerConfiguration <TMessage>(configurations)); }