protected override void ConfigureLifetimeScope(ContainerBuilder builder)
        {
            builder.Register(CreateImageRetrievalSessionFactory)
                   .SingleInstance();

            builder.RegisterType<NHibernateSagaRepository<ImageRetrievalState>>()
                   .As<ISagaRepository<ImageRetrievalState>>()
                   .SingleInstance();

            builder.RegisterType<AutofacStateMachineActivityFactory>()
                   .As<IStateMachineActivityFactory>()
                   .InstancePerLifetimeScope();

            builder.RegisterType<SendRetrieveImageCommandConfigurationSettings>()
                   .As<SendRetrieveImageCommandSettings>()
                   .SingleInstance();

            builder.RegisterType<SendRetrieveImageCommandActivity>();

            builder.Register(context =>
                {
                    var stateMachineActivityFactory = context.Resolve<IStateMachineActivityFactory>();
                    var machine = new ImageRetrievalStateMachine(stateMachineActivityFactory);

                    AutomatonymousStateUserType<ImageRetrievalStateMachine>.SaveAsString(machine);

                    return machine;
                }).SingleInstance();

            builder.RegisterType<ImageRetrievalStateBusInstance>()
                   .As<IServiceBusInstance>();

            base.ConfigureLifetimeScope(builder);
        }
        protected override void ConfigureLifetimeScope(ContainerBuilder builder)
        {
            builder.Register(CreateImageRetrievalSessionFactory)
            .SingleInstance();

            builder.RegisterType <NHibernateSagaRepository <ImageRetrievalState> >()
            .As <ISagaRepository <ImageRetrievalState> >()
            .SingleInstance();

            builder.RegisterType <AutofacStateMachineActivityFactory>()
            .As <IStateMachineActivityFactory>()
            .InstancePerLifetimeScope();

            builder.RegisterType <SendRetrieveImageCommandConfigurationSettings>()
            .As <SendRetrieveImageCommandSettings>()
            .SingleInstance();

            builder.RegisterType <SendRetrieveImageCommandActivity>();

            builder.Register(context =>
            {
                var stateMachineActivityFactory = context.Resolve <IStateMachineActivityFactory>();
                var machine = new ImageRetrievalStateMachine(stateMachineActivityFactory);

                AutomatonymousStateUserType <ImageRetrievalStateMachine> .SaveAsString(machine);

                return(machine);
            }).SingleInstance();

            builder.RegisterType <ImageRetrievalStateBusInstance>()
            .As <IServiceBusInstance>();

            base.ConfigureLifetimeScope(builder);
        }
Example #3
0
 public ImageRetrievalStateBusInstance(IConfigurationProvider configuration, ImageRetrievalStateMachine machine,
                                       ISagaRepository <ImageRetrievalState> sagaRepository)
     : base(configuration, "ImageRetrievalTrackingQueueName", "ImageRetrievalTrackingConsumerLimit", 1)
 {
     this.StateMachineSaga(machine, sagaRepository, machine.ConfigureStateMachineCorrelations);
 }
 public ImageRetrievalStateBusInstance(IConfigurationProvider configuration, ImageRetrievalStateMachine machine,
     ISagaRepository<ImageRetrievalState> sagaRepository)
     : base(configuration, "ImageRetrievalTrackingQueueName", "ImageRetrievalTrackingConsumerLimit", 1)
 {
     this.StateMachineSaga(machine, sagaRepository, machine.ConfigureStateMachineCorrelations);
 }