Esempio n. 1
0
 public ServiceBusTransport(IServiceBusConfiguration configuration)
 {
     TransportChannelFactories = new ITransportChannelFactory[]
     {
         new ServiceBusQueueChannelFactory(configuration),
         new ServiceBusTopicChannelFactory(configuration)
     };
 }
Esempio n. 2
0
        public RedisTransport(RedisConfiguration configuration)
        {
            var multiplexer = ConnectionMultiplexer.Connect(configuration.ConnectionString);

            TransportChannelFactories = new ITransportChannelFactory[]
            {
                new RedisCommandChannelFactory(configuration, multiplexer),
                new RedisEventChannelFactory(configuration, multiplexer),
            };
        }
Esempio n. 3
0
        private IMessageSerializer GetSerializer(ITransportChannelFactory channelFactory, Type messageType)
        {
            var mapping = AutoMessageMapper.GetMapping(messageType);

            if (mapping is ICustomMessageSerializer serializer)
            {
                return(serializer.MessageSerializer);
            }

            return(channelFactory.Configuration.MessageSerializer);
        }
Esempio n. 4
0
 public MiddlewarePipeline(IEnumerable <IMessageProcessorMiddleware> hostMiddlewares, ITransportChannelFactory transportChannelFactory, ILog log)
 {
     //Add default outlying middlewares
     _middlewares.Add(new ErrorHandlingMiddleware(log));
     _middlewares.Add(new DeadLetterMiddleware());
     //Add host-global middlewares
     _middlewares.AddRange(hostMiddlewares);
     //Add transport middlewares
     _middlewares.AddRange(transportChannelFactory.Middlewares);
 }
Esempio n. 5
0
 public StorageTransport(IStorageBusConfiguration configuration)
 {
     TransportChannelFactories = new ITransportChannelFactory[] { new StorageQueueChannelFactory(configuration), };
 }
Esempio n. 6
0
        public MiddlewarePipeline(IEnumerable <IMessageProcessorMiddleware> hostMiddlewares, IPipelineInformation pipelineInformation, ITransportChannelFactory transportChannelFactory, ILog log)
        {
            _pipelineInformation = pipelineInformation;

            //Add default outlying middlewares
            _middlewares.Add(new ErrorHandlingMiddleware(log));

            //See if there is a IMessageScopeProviderMiddleware that needs to be placed before the other middlewares
            var processorMiddlewares = new List <IMessageProcessorMiddleware>(hostMiddlewares);
            var scopeProvider        = processorMiddlewares.SingleOrDefault(scopeMiddleware => scopeMiddleware is IMessageScopeProviderMiddleware);

            if (scopeProvider != null)
            {
                _middlewares.Add(scopeProvider);
                processorMiddlewares.Remove(scopeProvider);
            }

            _middlewares.Add(new DeadLetterMiddleware());
            //Add host-global middlewares
            _middlewares.AddRange(processorMiddlewares);
            //Add transport middlewares
            _middlewares.AddRange(transportChannelFactory.Middlewares);
        }