public void Register(IContainerBuilder containerBuilder) { containerBuilder.RegisterType<Transport>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<MessageBus>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<Router>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<StorageDrivenPublisher>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<Receiver>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<CallBackManager>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<LocalBus>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<SubscriptionManager>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<Dispatcher>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<TimeoutProcessor>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<TypeMapper>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<MessageErrorModule>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<AuditModule>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<ExtractMessagesModule>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<MessageMutatorModule>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<DispatchMessagesModule>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<CallBackHandlerModule>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<MessageSerializationModule>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<HeaderBuilderModule>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<SendMessageModule>(DependencyLifecycle.SingleInstance); containerBuilder.RegisterType<UnitOfWorkModule>(DependencyLifecycle.InstancePerUnitOfWork); containerBuilder.RegisterType<OutgoingMessageContext>(DependencyLifecycle.InstancePerDependency); var outgoingPipeline = new ModulePipeFactory<OutgoingMessageContext>() .Add<MessageMutatorModule>() .Add<MessageSerializationModule>() .Add<HeaderBuilderModule>() .Add<SendMessageModule>(); containerBuilder.RegisterSingleton(outgoingPipeline); }
public Transport(IReceiveMessages messageReceiver, IContainer container, ModulePipeFactory<IncomingMessageContext> incomingPipeline, ModulePipeFactory<OutgoingMessageContext> outgoingPipeline) { this.messageReceiver = messageReceiver; this.container = container; this.incomingPipeline = incomingPipeline; this.outgoingPipeline = outgoingPipeline; }
public OutgoingMessageUnitOfWork(ModulePipeFactory<OutgoingMessageContext> outgoingPipeline, IServiceLocator serviceLocator) { this.outgoingPipeline = outgoingPipeline; this.serviceLocator = serviceLocator; }