public ServiceBusOutputChannel(ServiceBusChannelFactory factory, EndpointAddress to, Uri via) : base(factory)
 {
     this.ChannelFactory           = factory;
     this.encoder                  = factory.MessageEncoderFactory.Encoder;
     this.maxBufferSize            = factory.MaxBufferSize;
     this.to                       = to;
     this.Via                      = via;
     this.messagingFactorySettings = factory.MessagingFactorySettings;
     this.messagingAddress         = new MessagingAddress(via, this.messagingFactorySettings.NetMessagingTransportSettings.GatewayMode);
     if (this.messagingAddress.Type != MessagingAddressType.Entity)
     {
         throw Microsoft.ServiceBus.Messaging.FxTrace.Exception.Argument("via", SRClient.EntityNameNotFound(via));
     }
 }
Ejemplo n.º 2
0
        protected ServiceBusChannelListener(BindingContext context, NetMessagingTransportBindingElement transport) : base(context.Binding)
        {
            this.listenUri = context.ListenUriBaseAddress;
            if (!string.IsNullOrEmpty(context.ListenUriRelativeAddress))
            {
                this.listenUri = new System.Uri(context.ListenUriBaseAddress, context.ListenUriRelativeAddress);
            }
            this.MaxBufferSize         = (int)Math.Min(transport.MaxReceivedMessageSize, (long)2147483647);
            this.ReceiveContextEnabled = transport.ReceiveContextEnabled;
            MessageEncodingBindingElement messageEncodingBindingElement = context.BindingParameters.Find <MessageEncodingBindingElement>();

            if (messageEncodingBindingElement == null)
            {
                messageEncodingBindingElement = Microsoft.ServiceBus.Messaging.Channels.TransportDefaults.CreateDefaultEncoder();
            }
            this.MessageEncoderFactory    = messageEncodingBindingElement.CreateMessageEncoderFactory();
            this.MessagingFactorySettings = transport.CreateMessagingFactorySettings(context);
            this.MessagingAddress         = new Microsoft.ServiceBus.Messaging.MessagingAddress(this.Uri, this.MessagingFactorySettings.NetMessagingTransportSettings.GatewayMode);
            if (this.MessagingAddress.Type != MessagingAddressType.Entity)
            {
                throw Microsoft.ServiceBus.Messaging.FxTrace.Exception.Argument("ListenUriBaseAddress", SRClient.EntityNameNotFound(this.MessagingAddress.ToString()));
            }
            this.TransportBindingElement = transport;
            this.PrefetchCount           = transport.PrefetchCount;
        }