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)); } }
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; }