public override void ExecuteActivityConfigured <TActivity, TArguments>(IExecuteActivityConfigurator <TActivity, TArguments> configurator)
        {
            var scopeProvider = new DependencyInjectionExecuteActivityScopeProvider <TActivity, TArguments>(_serviceProvider);
            var scopeFilter   = new ScopeExecuteFilter <TActivity, TArguments>(scopeProvider);
            var specification = new FilterPipeSpecification <ExecuteContext <TArguments> >(scopeFilter);

            configurator.Arguments(x => x.AddPipeSpecification(specification));
        }
Example #2
0
        public static void ExecuteActivityHost <TActivity, TArguments>(this IReceiveEndpointConfigurator configurator, IServiceProvider provider,
                                                                       Action <IExecuteActivityConfigurator <TActivity, TArguments> > configure = null)
            where TActivity : class, IExecuteActivity <TArguments>
            where TArguments : class
        {
            var executeActivityScopeProvider = new DependencyInjectionExecuteActivityScopeProvider <TActivity, TArguments>(provider);

            var factory = new ScopeExecuteActivityFactory <TActivity, TArguments>(executeActivityScopeProvider);

            configurator.ExecuteActivityHost(factory, configure);
        }
        public static void ExecuteActivityHost <TActivity, TArguments>(this IReceiveEndpointConfigurator configurator, Uri compensateAddress, IServiceProvider serviceProvider,
                                                                       Action <IExecuteActivityConfigurator <TActivity, TArguments> > configure = null)
            where TActivity : class, ExecuteActivity <TArguments>
            where TArguments : class
        {
            var executeActivityScopeProvider = new DependencyInjectionExecuteActivityScopeProvider <TActivity, TArguments>(serviceProvider);

            var factory = new ScopeExecuteActivityFactory <TActivity, TArguments>(executeActivityScopeProvider);

            var specification = new ExecuteActivityHostSpecification <TActivity, TArguments>(factory, compensateAddress);

            configure?.Invoke(specification);

            configurator.AddEndpointSpecification(specification);
        }