Пример #1
0
        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);
        }