Пример #1
0
        /// <summary>
        /// Registers a saga using the container that has the repository resolved from the container
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="configurator"></param>
        /// <param name="context"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static void Saga <T>(this IReceiveEndpointConfigurator configurator, IComponentContext context,
                                    string name = "message")
            where T : class, ISaga
        {
            var sagaRepository = context.Resolve <ISagaRepository <T> >();

            var autofacSagaRepository = new AutofacSagaRepository <T>(sagaRepository, context.Resolve <ILifetimeScope>(), name);

            configurator.Saga(autofacSagaRepository);
        }
Пример #2
0
        /// <summary>
        /// Registers a saga using the container that has the repository resolved from the container
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="configurator"></param>
        /// <param name="scope"></param>
        /// <param name="configure"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static void Saga <T>(this IReceiveEndpointConfigurator configurator, ILifetimeScope scope,
                                    Action <ISagaConfigurator <T> > configure, string name = "message")
            where T : class, ISaga
        {
            var sagaRepository = scope.Resolve <ISagaRepository <T> >();

            var autofacSagaRepository = new AutofacSagaRepository <T>(sagaRepository, scope, name);

            configurator.Saga(autofacSagaRepository, configure);
        }
Пример #3
0
        /// <summary>
        /// Registers a saga using the container that has the repository resolved from the container
        /// </summary>
        /// <typeparam name="TSaga"></typeparam>
        /// <param name="configurator"></param>
        /// <param name="scope"></param>
        /// <returns></returns>
        public static SagaSubscriptionConfigurator <TSaga> Saga <TSaga>(
            this SubscriptionBusServiceConfigurator configurator, ILifetimeScope scope, string name = "message")
            where TSaga : class, ISaga
        {
            var sagaRepository = scope.Resolve <ISagaRepository <TSaga> >();

            var autofacSagaRepository = new AutofacSagaRepository <TSaga>(sagaRepository, scope, name);

            return(configurator.Saga(autofacSagaRepository));
        }