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); }
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); }