Exemplo n.º 1
0
        /// <summary>
        /// Enables the data bus
        /// </summary>
        public static StandardConfigurer <IDataBusStorage> EnableDataBus(this OptionsConfigurer configurer)
        {
            if (configurer == null)
            {
                throw new ArgumentNullException(nameof(configurer));
            }

            configurer.Register <IDataBus>(c =>
            {
                var dataBusStorage = GetDataBusStorage(c);

                return(new DefaultDataBus(dataBusStorage));
            });

            configurer.Decorate <IPipeline>(c =>
            {
                var dataBusStorage = GetDataBusStorage(c);
                var pipeline       = c.Get <IPipeline>();

                var step = new DataBusIncomingStep(dataBusStorage);

                return(new PipelineStepInjector(pipeline)
                       .OnReceive(step, PipelineRelativePosition.After, typeof(DeserializeIncomingMessageStep)));
            });

            return(StandardConfigurer <IDataBusStorage> .GetConfigurerFrom(configurer));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Enables the data bus
        /// </summary>
        public static StandardConfigurer<IDataBusStorage> EnableDataBus(this OptionsConfigurer configurer)
        {
            if (configurer == null) throw new ArgumentNullException(nameof(configurer));

            configurer.Register<IDataBus>(c =>
            {
                var dataBusStorage = GetDataBusStorage(c);

                return new DefaultDataBus(dataBusStorage);
            });

            configurer.Decorate<IPipeline>(c =>
            {
                var dataBusStorage = GetDataBusStorage(c);
                var pipeline = c.Get<IPipeline>();

                var step = new DataBusIncomingStep(dataBusStorage);

                return new PipelineStepInjector(pipeline)
                    .OnReceive(step, PipelineRelativePosition.After, typeof(DeserializeIncomingMessageStep));
            });

            return StandardConfigurer<IDataBusStorage>.GetConfigurerFrom(configurer);
        }