Пример #1
0
        public Task <ISendTransport> CreateSendTransport(Uri address)
        {
            var settings = _topology.SendTopology.GetSendSettings(address);

            var clientContextSupervisor = new AmazonSqsClientContextSupervisor(_host.ConnectionContextSupervisor);

            var configureTopologyFilter = new ConfigureTopologyFilter <SendSettings>(settings, settings.GetBrokerTopology());

            var transport = new QueueSendTransport(clientContextSupervisor, configureTopologyFilter, settings.EntityName);

            transport.Add(clientContextSupervisor);

            _host.Add(transport);

            return(Task.FromResult <ISendTransport>(transport));
        }
Пример #2
0
        public Task <ISendTransport> CreatePublishTransport <T>()
            where T : class
        {
            IAmazonSqsMessagePublishTopology <T> publishTopology = _topology.Publish <T>();

            var sendSettings = publishTopology.GetPublishSettings();

            var clientContextSupervisor = new AmazonSqsClientContextSupervisor(_host.ConnectionContextSupervisor);

            var configureTopologyFilter = new ConfigureTopologyFilter <PublishSettings>(sendSettings, publishTopology.GetBrokerTopology());

            var sendTransport = new TopicSendTransport(clientContextSupervisor, configureTopologyFilter, sendSettings.EntityName);

            sendTransport.Add(clientContextSupervisor);

            _host.Add(sendTransport);

            return(Task.FromResult <ISendTransport>(sendTransport));
        }