public static void CompensateActivityHost <TActivity, TLog>(this IReceiveEndpointConfigurator configurator, IContainer container, Action <ICompensateActivityConfigurator <TActivity, TLog> > configure = null) where TActivity : class, ICompensateActivity <TLog> where TLog : class { var compensateActivityScopeProvider = new StructureMapCompensateActivityScopeProvider <TActivity, TLog>(container); var factory = new ScopeCompensateActivityFactory <TActivity, TLog>(compensateActivityScopeProvider); configurator.CompensateActivityHost(factory, configure); }
public static void CompensateActivityHost <TActivity, TLog>(this IReceiveEndpointConfigurator configurator, IContext context) where TActivity : class, CompensateActivity <TLog> where TLog : class { var compensateActivityScopeProvider = new StructureMapCompensateActivityScopeProvider <TActivity, TLog>(context); var factory = new ScopeCompensateActivityFactory <TActivity, TLog>(compensateActivityScopeProvider); var specification = new CompensateActivityHostSpecification <TActivity, TLog>(factory); configurator.AddEndpointSpecification(specification); }