Esempio n. 1
0
        /// <summary>
        ///     Builds the outbound error transport; where to send messages that fail.
        /// </summary>
        /// <param name="settings"> using these settings </param>
        /// <returns> The outbound transport instance, non null </returns>
        public virtual IOutboundTransport BuildError([NotNull] ITransportSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }
            EnsureProtocolIsCorrect(settings.Address.Uri);

            var address = _addresses.Retrieve(settings.Address.Uri,
                                              () => AzureServiceBusEndpointAddressImpl.Parse(settings.Address.Uri));

            _logger.DebugFormat("building error transport for address '{0}'", address);

            var client = GetConnection(address);

            return(new OutboundTransportImpl(address, client, _senderSettings));
        }
Esempio n. 2
0
        /// <summary>
        ///     Builds the inbound transport for the service bus endpoint,
        /// </summary>
        /// <param name="settings"> using these settings </param>
        /// <returns> A non-null instance of the inbound transport. </returns>
        public virtual IInboundTransport BuildInbound([NotNull] ITransportSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }

            EnsureProtocolIsCorrect(settings.Address.Uri);

            var address = _addresses.Retrieve(settings.Address.Uri,
                                              () => AzureServiceBusEndpointAddressImpl.Parse(settings.Address.Uri));

            _logger.DebugFormat("building inbound transport for address '{0}'", address);

            var client = GetConnection(address);

            return(new InboundTransportImpl(address, client, new PurgeImpl(settings.PurgeExistingMessages, address),
                                            MessageNameFormatter, _receiverSettings));
        }