public static void ExecuteActivityHost <TActivity, TArguments>(this IReceiveEndpointConfigurator configurator, Uri compensateAddress, ILifetimeScope lifetimeScope, Action <IExecuteActivityConfigurator <TActivity, TArguments> > configure, string name = "message", Action <ContainerBuilder, ExecuteContext <TArguments> > configureScope = null) where TActivity : class, ExecuteActivity <TArguments> where TArguments : class { var lifetimeScopeProvider = new SingleLifetimeScopeProvider(lifetimeScope); var executeActivityScopeProvider = new AutofacExecuteActivityScopeProvider <TActivity, TArguments>(lifetimeScopeProvider, name, configureScope); var factory = new ScopeExecuteActivityFactory <TActivity, TArguments>(executeActivityScopeProvider); var specification = new ExecuteActivityHostSpecification <TActivity, TArguments>(factory, compensateAddress); configure(specification); configurator.AddEndpointSpecification(specification); }