protected override BindingElement CreateBindingElement() { CustomHttpTransportBindingElement bindingElement = new CustomHttpTransportBindingElement(); this.ApplyConfiguration(bindingElement); return(bindingElement); }
void Initialize() { transport = new CustomHttpTransportBindingElement(); session = new ReliableSessionBindingElement(); compositeDuplex = new CompositeDuplexBindingElement(); encoding = new TextMessageEncodingBindingElement(); }
protected override void InitializeFrom(BindingElement bindingElement) { base.InitializeFrom(bindingElement); CustomHttpTransportBindingElement customHttpBindingElement = (CustomHttpTransportBindingElement)bindingElement; this.MaxBufferPoolSize = customHttpBindingElement.MaxBufferPoolSize; this.MaxReceivedMessageSize = (int)customHttpBindingElement.MaxReceivedMessageSize; }
public override void ApplyConfiguration(BindingElement bindingElement) { base.ApplyConfiguration(bindingElement); CustomHttpTransportBindingElement customHttpBindingElement = (CustomHttpTransportBindingElement)bindingElement; customHttpBindingElement.MaxBufferPoolSize = this.MaxBufferPoolSize; customHttpBindingElement.MaxReceivedMessageSize = this.MaxReceivedMessageSize; }
internal CustomHttpChannelListener( CustomHttpTransportBindingElement bindingElement, BindingContext context) : base(context.Binding) { this.maxMessageSize = (int)bindingElement.MaxReceivedMessageSize; this.bufferManager = BufferManager.CreateBufferManager(bindingElement.MaxBufferPoolSize, this.maxMessageSize); MessageEncodingBindingElement messageEncoderBindingElement = context.BindingParameters.Remove <MessageEncodingBindingElement>(); if (messageEncoderBindingElement != null) { this.messageEncoderFactory = messageEncoderBindingElement.CreateMessageEncoderFactory(); } else { this.messageEncoderFactory = CustomHttpConstants.DefaultMessageEncoderFactory; } this.channelQueue = new InputQueue <IInputChannel>(); this.currentChannelLock = new object(); this.listenSockets = new List <Socket>(2); Uri baseAddress = context.ListenUriBaseAddress; if (baseAddress == null) { if (context.ListenUriMode == ListenUriMode.Unique) { UriBuilder uriBuilder = new UriBuilder(this.Scheme, Dns.GetHostEntry(String.Empty).HostName); uriBuilder.Path = Guid.NewGuid().ToString(); baseAddress = uriBuilder.Uri; } else { throw new InvalidOperationException( "Null is only a supported value for ListenUriBaseAddress when using ListenUriMode.Unique."); } } this.InitializeUri(baseAddress, context.ListenUriRelativeAddress, context.ListenUriMode); }
internal CustomHttpChannelFactory(CustomHttpTransportBindingElement bindingElement, BindingContext context) : base(context.Binding) { this.bufferManager = BufferManager.CreateBufferManager(bindingElement.MaxBufferPoolSize, int.MaxValue); Collection <MessageEncodingBindingElement> messageEncoderBindingElements = context.BindingParameters.FindAll <MessageEncodingBindingElement>(); if (messageEncoderBindingElements.Count > 1) { throw new InvalidOperationException("More than one MessageEncodingBindingElement was found in the BindingParameters of the BindingContext"); } else if (messageEncoderBindingElements.Count == 1) { this.messageEncoderFactory = messageEncoderBindingElements[0].CreateMessageEncoderFactory(); } else { this.messageEncoderFactory = CustomHttpConstants.DefaultMessageEncoderFactory; } _bindingElement = bindingElement; }
protected CustomHttpTransportBindingElement(CustomHttpTransportBindingElement other) : base(other) { }