Esempio n. 1
0
 protected override Task InitialiseInternal(IDependencyResolver dependencyResolver)
 {
     dependencyResolver.RegisterType <InMemorySerializer>(Lifetime.Transient);
     dependencyResolver.RegisterFactory <ITransportConfiguration>(() => new TransportConfiguration(), Lifetime.Transient);
     dependencyResolver.RegisterFactory <ITranspontDispatcher>(() =>
     {
         var transport  = dependencyResolver.Resolve <InMemoryQueueTransport>();
         var manager    = dependencyResolver.Resolve <TransportManager>();
         var serializer = dependencyResolver.Resolve <IMessageSerialiser>();
         var listener   = new MessageListener(() => dependencyResolver.Resolve <IHandlerResolver>(), () => dependencyResolver.Resolve <IHandlerInvoker>(), serializer);
         listener.AttachTo(manager);
         manager.Initialise();
         manager.Start();
         return(new TransportDispatcher(manager, serializer));
     }, Lifetime.Singleton);
     return(Task.CompletedTask);
 }