示例#1
0
        protected override void ConfigureRequestContainer(TinyIoCContainer container, NancyContext context)
        {
            base.ConfigureRequestContainer(container, context);
            // create a singleton instance which will be reused for all calls in current request
            var ipb = new Router();

            container.Register <ICommandSender, Router>(ipb);
            container.Register <IHandlerRegistrar, Router>(ipb);
            container.Register <IEventSerializer, EventSerializer>(new EventSerializer());
            container.Register <IEventSourceFactory, EventSourceFactory>();
            container.Register <ISettingsService, SettingsService>();
            container.Register <NeuronCommandHandlers>();

            var ticl = new TinyIoCServiceLocator(container);

            container.Register <IServiceProvider, TinyIoCServiceLocator>(ticl);
            var registrar = new RouteRegistrar(ticl);

            registrar.Register(typeof(NeuronCommandHandlers));

            // Here we register our user mapper as a per-request singleton.
            // As this is now per-request we could inject a request scoped
            // database "context" or other request scoped services.
            ((TinyIoCServiceLocator)container.Resolve <IServiceProvider>()).SetRequestContainer(container);
        }
示例#2
0
        protected override void ConfigureRequestContainer(TinyIoCContainer container, NancyContext context)
        {
            base.ConfigureRequestContainer(container, context);

            container.Register <ISettingsService, SettingsService>();
            container.Register <INeuronRepository, NeuronRepository>();
            container.Register <ITerminalRepository, TerminalRepository>();
            container.Register <IRepository <Domain.Model.Settings>, SettingsRepository>();
            container.Register <INotificationLogClient, StandardNotificationLogClient>();

            var ipb = new Router();

            container.Register <ICommandSender, Router>(ipb);
            container.Register <IHandlerRegistrar, Router>(ipb);
            container.Register <GraphCommandHandlers>();

            var ticl = new TinyIoCServiceLocator(container);

            container.Register <IServiceProvider, TinyIoCServiceLocator>(ticl);
            var registrar = new RouteRegistrar(ticl);

            registrar.Register(typeof(GraphCommandHandlers));

            // As this is now per-request we could inject a request scoped
            // database "context" or other request scoped services.
            ((TinyIoCServiceLocator)container.Resolve <IServiceProvider>()).SetRequestContainer(container);
        }
示例#3
0
        protected override void ConfigureRequestContainer(TinyIoCContainer container, NancyContext context)
        {
            base.ConfigureRequestContainer(container, context);
            // create a singleton instance which will be reused for all calls in current request
            var ipb = new Router();

            container.Register <ICommandSender, Router>(ipb);
            container.Register <IHandlerRegistrar, Router>(ipb);
            container.Register <IEventSerializer, EventSerializer>(new EventSerializer());
            container.Register <ISettingsService, SettingsService>();
            container.Register <IEventStoreUrlService>(
                (tic, npo) => {
                var ss = container.Resolve <ISettingsService>();
                return(new EventStoreUrlService(
                           ss.EventSourcingInBaseUrl + "/",
                           ss.EventSourcingOutBaseUrl + "/"
                           ));
            });
            container.Register <IEventStore, HttpEventStoreClient>();
            container.Register <IRepository, Repository>();
            container.Register <ISession, Session>();
            container.Register <IItemAdapter, ItemAdapter>();
            container.Register <ItemCommandHandlers>();

            var ticl = new TinyIoCServiceLocator(container);

            container.Register <IServiceProvider, TinyIoCServiceLocator>(ticl);
            var registrar = new RouteRegistrar(ticl);

            registrar.Register(typeof(ItemCommandHandlers));

            // Here we register our user mapper as a per-request singleton.
            // As this is now per-request we could inject a request scoped
            // database "context" or other request scoped services.
            ((TinyIoCServiceLocator)container.Resolve <IServiceProvider>()).SetRequestContainer(container);
        }
        protected override void ConfigureRequestContainer(TinyIoCContainer container, NancyContext context)
        {
            base.ConfigureRequestContainer(container, context);

            // create a singleton instance which will be reused for all calls in current request
            var ipb = new Router();

            container.Register <ICommandSender, Router>(ipb);
            container.Register <IHandlerRegistrar, Router>(ipb);
            container.Register <IRequestProvider>(
                (tic, npo) =>
            {
                var rp = new RequestProvider();
                rp.SetHttpClientHandler(new HttpClientHandler());
                return(rp);
            });
            container.Register <ISettingsService, SettingsService>();
            container.Register <IValidationClient, HttpValidationClient>();
            container.Register <INeuronGraphQueryClient, HttpNeuronGraphQueryClient>();

            // data
            container.Register <IEventStoreUrlService>(
                (tic, npo) => {
                var ss = container.Resolve <ISettingsService>();
                return(new EventStoreUrlService(
                           ss.EventSourcingInBaseUrl + "/",
                           ss.EventSourcingOutBaseUrl + "/"
                           ));
            });
            container.Register <IEventSerializer, EventSerializer>();
            container.Register <IAuthoredEventStore, HttpEventStoreClient>();
            container.Register <IInMemoryAuthoredEventStore, InMemoryEventStore>();
            container.Register <IRepository>((tic, npo) => new Repository(container.Resolve <IInMemoryAuthoredEventStore>()));
            container.Register <ISession, Session>();
            // neuron
            container.Register <INeuronAdapter, NeuronAdapter>();
            container.Register((tic, npo) => new neurUL.Cortex.Application.Neurons.NeuronCommandHandlers(container.Resolve <IInMemoryAuthoredEventStore>(), container.Resolve <ISession>()));
            container.Register <ITerminalAdapter, TerminalAdapter>();
            container.Register((tic, npo) => new neurUL.Cortex.Application.Neurons.TerminalCommandHandlers(container.Resolve <IInMemoryAuthoredEventStore>(), container.Resolve <ISession>()));
            // tag
            container.Register <ei8.Data.Tag.Port.Adapter.In.InProcess.IItemAdapter, ei8.Data.Tag.Port.Adapter.In.InProcess.ItemAdapter>();
            container.Register((tic, npo) => new Data.Tag.Application.ItemCommandHandlers(container.Resolve <IInMemoryAuthoredEventStore>(), container.Resolve <ISession>()));
            // aggregate
            container.Register <ei8.Data.Aggregate.Port.Adapter.In.InProcess.IItemAdapter, ei8.Data.Aggregate.Port.Adapter.In.InProcess.ItemAdapter>();
            container.Register((tic, npo) => new Data.Aggregate.Application.ItemCommandHandlers(container.Resolve <IInMemoryAuthoredEventStore>(), container.Resolve <ISession>()));
            // external reference
            container.Register <ei8.Data.ExternalReference.Port.Adapter.In.InProcess.IItemAdapter, ei8.Data.ExternalReference.Port.Adapter.In.InProcess.ItemAdapter>();
            container.Register((tic, npo) => new Data.ExternalReference.Application.ItemCommandHandlers(container.Resolve <IInMemoryAuthoredEventStore>(), container.Resolve <ISession>()));

            container.Register <NeuronCommandHandlers>();
            container.Register <TerminalCommandHandlers>();

            var ticl = new TinyIoCServiceLocator(container);

            container.Register <IServiceProvider, TinyIoCServiceLocator>(ticl);
            var registrar = new RouteRegistrar(ticl);

            registrar.Register(typeof(NeuronCommandHandlers));
            // neuron
            registrar.Register(typeof(neurUL.Cortex.Application.Neurons.NeuronCommandHandlers));
            // tag
            registrar.Register(typeof(ei8.Data.Tag.Application.ItemCommandHandlers));
            // aggregate
            registrar.Register(typeof(ei8.Data.Aggregate.Application.ItemCommandHandlers));
            // external reference
            registrar.Register(typeof(ei8.Data.ExternalReference.Application.ItemCommandHandlers));

            ((TinyIoCServiceLocator)container.Resolve <IServiceProvider>()).SetRequestContainer(container);
        }