コード例 #1
0
        public InMemoryBusBuilder(IReceiveTransportProvider receiveTransportProvider, ISendTransportProvider sendTransportProvider, IBusHostControl[] hosts,
            IConsumePipeFactory consumePipeFactory, ISendPipeFactory sendPipeFactory, IPublishPipeFactory publishPipeFactory)
            : base(consumePipeFactory, sendPipeFactory, publishPipeFactory, hosts)
        {
            if (receiveTransportProvider == null)
                throw new ArgumentNullException(nameof(receiveTransportProvider));
            if (sendTransportProvider == null)
                throw new ArgumentNullException(nameof(sendTransportProvider));

            _busQueueName = GenerateBusQueueName();
            _inputAddress = new Uri($"loopback://localhost/{_busQueueName}");

            ReceiveTransportProvider = receiveTransportProvider;
            _sendTransportProvider = sendTransportProvider;
        }
コード例 #2
0
        public InMemoryBusBuilder(IReceiveTransportProvider receiveTransportProvider,
            ISendTransportProvider sendTransportProvider, IEnumerable<IBusHostControl> hosts,
            IConsumePipeSpecification consumePipeSpecification)
            : base(consumePipeSpecification)
        {
            if (receiveTransportProvider == null)
                throw new ArgumentNullException(nameof(receiveTransportProvider));
            if (sendTransportProvider == null)
                throw new ArgumentNullException(nameof(sendTransportProvider));

            _busQueueName = GenerateBusQueueName();
            _inputAddress = new Uri($"loopback://localhost/{_busQueueName}");

            ReceiveTransportProvider = receiveTransportProvider;
            _sendTransportProvider = sendTransportProvider;
            _hosts = hosts.ToArray();
        }
コード例 #3
0
        public InMemoryBusBuilder(IReceiveTransportProvider receiveTransportProvider, ISendTransportProvider sendTransportProvider, IBusHostControl[] hosts,
                                  IConsumePipeFactory consumePipeFactory, ISendPipeFactory sendPipeFactory, IPublishPipeFactory publishPipeFactory)
            : base(consumePipeFactory, sendPipeFactory, publishPipeFactory, hosts)
        {
            if (receiveTransportProvider == null)
            {
                throw new ArgumentNullException(nameof(receiveTransportProvider));
            }
            if (sendTransportProvider == null)
            {
                throw new ArgumentNullException(nameof(sendTransportProvider));
            }

            _busQueueName = GenerateBusQueueName();
            _inputAddress = new Uri($"loopback://localhost/{_busQueueName}");

            ReceiveTransportProvider = receiveTransportProvider;
            _sendTransportProvider   = sendTransportProvider;
        }
コード例 #4
0
        public IBusControl CreateBus()
        {
            if (_receiveTransportProvider == null || _sendTransportProvider == null)
            {
                var transportProvider = new InMemoryTransportCache(_concurrencyLimit);
                _hosts.Add(transportProvider);

                _receiveTransportProvider = _receiveTransportProvider ?? transportProvider;
                _sendTransportProvider    = _sendTransportProvider ?? transportProvider;
            }

            var builder = new InMemoryBusBuilder(_receiveTransportProvider, _sendTransportProvider, _hosts.ToArray(), ConsumePipeFactory, SendPipeFactory, PublishPipeFactory);

            foreach (var configurator in _configurators)
            {
                configurator.Apply(builder);
            }

            return(builder.Build());
        }
コード例 #5
0
        public IBusControl CreateBus()
        {
            if (_receiveTransportProvider == null || _sendTransportProvider == null)
            {
                var transportProvider = new InMemoryTransportCache(_concurrencyLimit);
                _hosts.Add(transportProvider);

                _receiveTransportProvider = _receiveTransportProvider ?? transportProvider;
                _sendTransportProvider    = _sendTransportProvider ?? transportProvider;
            }

            var builder = new InMemoryBusBuilder(_receiveTransportProvider, _sendTransportProvider, _hosts, _consumePipeSpecification);

            foreach (IInMemoryBusFactorySpecification configurator in _configurators)
            {
                configurator.Apply(builder);
            }

            return(builder.Build());
        }
コード例 #6
0
        public InMemoryBusBuilder(IReceiveTransportProvider receiveTransportProvider,
                                  ISendTransportProvider sendTransportProvider, IEnumerable <IBusHostControl> hosts,
                                  IConsumePipeSpecification consumePipeSpecification)
            : base(consumePipeSpecification)
        {
            if (receiveTransportProvider == null)
            {
                throw new ArgumentNullException(nameof(receiveTransportProvider));
            }
            if (sendTransportProvider == null)
            {
                throw new ArgumentNullException(nameof(sendTransportProvider));
            }

            _busQueueName = GenerateBusQueueName();
            _inputAddress = new Uri($"loopback://localhost/{_busQueueName}");

            ReceiveTransportProvider = receiveTransportProvider;
            _sendTransportProvider   = sendTransportProvider;
            _hosts = hosts.ToArray();
        }
コード例 #7
0
 void IInMemoryBusFactoryConfigurator.SetTransportProvider <T>(T transportProvider)
 {
     _receiveTransportProvider = transportProvider;
     _sendTransportProvider    = transportProvider;
     _hosts.Add(transportProvider);
 }