MemExchange.Server.Common.DependencyInjection.Initialize C# (CSharp) Метод

Initialize() публичный Метод

public Initialize ( ) : void
Результат void
        public void Initialize()
        {
            Container = new WindsorContainer();
            Container.Register(Component.For<IWindsorContainer>().Instance(Container));
            Container.Register(Component.For<ILogger>().ImplementedBy<SerilogLogger>().LifestyleSingleton());
            Container.Register(Component.For<ISerializer>().ImplementedBy<ProtobufSerializer>());
            Container.Register(Component.For<IClientMessagePuller>().ImplementedBy<ClientMessagePuller>().LifestyleSingleton());
            Container.Register(Component.For<IIncomingMessageQueue>().ImplementedBy<IncomingMessageQueue>().LifestyleSingleton());
            Container.Register(Component.For<IIncomingMessageProcessor>().ImplementedBy<IncomingMessageProcessor>().LifestyleSingleton());
            Container.Register(Component.For<IOrderRepository>().ImplementedBy<OrderRepository>().LifestyleSingleton());
            Container.Register(Component.For<IClientRepository>().ImplementedBy<ClientRepository>().LifestyleSingleton());
            Container.Register(Component.For<IOutgoingQueue>().ImplementedBy<OutgoingQueue>().LifestyleSingleton());
            Container.Register(Component.For<IMessagePublisher>().ImplementedBy<MessagePublisher>().LifestyleSingleton());
            Container.Register(Component.For<IDateService>().ImplementedBy<DateService>());
            Container.Register(Component.For<IPerformanceRecorder>().ImplementedBy<PerformanceRecorderDirectConsoleOutput>());
            Container.Register(Component.For<IOrderDispatcher>().ImplementedBy<OrderDispatcher>().LifestyleSingleton());
        }

Usage Example

Пример #1
0
        public void Start()
        {
            dependencyInjection = new DependencyInjection();
            dependencyInjection.Initialize();
            logger = dependencyInjection.Container.Resolve<ILogger>();

            dependencyInjection.Container.Resolve<IMessagePublisher>().Start(9193);
            dependencyInjection.Container.Resolve<IOutgoingQueue>().Start();

            dependencyInjection.Container.Resolve<IIncomingMessageQueue>().Start();
            dependencyInjection.Container.Resolve<IClientMessagePuller>().Start(9192);

            logger.Info("Service started");
        }
All Usage Examples Of MemExchange.Server.Common.DependencyInjection::Initialize
DependencyInjection