示例#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));
        }
        public static bool TryParse([NotNull] Uri inputUri, out AzureServiceBusEndpointAddressImpl address,
                                    out IEnumerable <ValidationResult> validationResults)
        {
            if (inputUri == null)
            {
                throw new ArgumentNullException("inputUri");
            }
            Data data;

            if (TryParseInternal(inputUri, out data, out validationResults))
            {
                address = new AzureServiceBusEndpointAddressImpl(data, data.AddressType);
                return(true);
            }
            address = null;
            return(false);
        }
示例#3
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));
        }
		public static bool TryParse([NotNull] Uri inputUri, out AzureServiceBusEndpointAddressImpl address,
		                            out IEnumerable<ValidationResult> validationResults)
		{
			if (inputUri == null) throw new ArgumentNullException("inputUri");
			Data data;
			if (TryParseInternal(inputUri, out data, out validationResults))
			{
				address = new AzureServiceBusEndpointAddressImpl(data, data.AddressType);
				return true;
			}
			address = null;
			return false;
		}