public static void ExecuteActivityHost <TActivity, TArguments>(this IReceiveEndpointConfigurator configurator, Container container) where TActivity : class, ExecuteActivity <TArguments> where TArguments : class { var executeActivityScopeProvider = new SimpleInjectorExecuteActivityScopeProvider <TActivity, TArguments>(container); var factory = new ScopeExecuteActivityFactory <TActivity, TArguments>(executeActivityScopeProvider); var specification = new ExecuteActivityHostSpecification <TActivity, TArguments>(factory); configurator.AddEndpointSpecification(specification); }
public static void ExecuteActivityHost <TActivity, TArguments>(this IReceiveEndpointConfigurator configurator, Uri compensateAddress, Container container, Action <IExecuteActivityConfigurator <TActivity, TArguments> > configure = null) where TActivity : class, IExecuteActivity <TArguments> where TArguments : class { var executeActivityScopeProvider = new SimpleInjectorExecuteActivityScopeProvider <TActivity, TArguments>(container); var factory = new ScopeExecuteActivityFactory <TActivity, TArguments>(executeActivityScopeProvider); var specification = new ExecuteActivityHostSpecification <TActivity, TArguments>(factory, compensateAddress, configurator); configure?.Invoke(specification); configurator.AddEndpointSpecification(specification); }