public void ImportEndpoint(WsdlImporter importer, WsdlEndpointConversionContext endpointContext) { System.ServiceModel.Channels.Binding binding; if (endpointContext == null) { throw new ArgumentNullException("endpointContext"); } if (endpointContext.Endpoint.Binding == null) { throw new ArgumentNullException("endpointContext.Binding"); } if (endpointContext.Endpoint.Binding is CustomBinding) { BindingElementCollection elements = ((CustomBinding)endpointContext.Endpoint.Binding).Elements; if (elements.Find <HttpRelayTransportBindingElement>() != null) { elements.Remove <HttpsTransportBindingElement>(); if (WSHttpRelayBindingBase.TryCreate(elements, out binding)) { StandardRelayBindingImporter.SetBinding(endpointContext.Endpoint, binding); return; } if (BasicHttpRelayBinding.TryCreate(elements, out binding)) { StandardRelayBindingImporter.SetBinding(endpointContext.Endpoint, binding); return; } } else if (elements.Find <TcpRelayTransportBindingElement>() != null && NetTcpRelayBinding.TryCreate(elements, out binding)) { StandardRelayBindingImporter.SetBinding(endpointContext.Endpoint, binding); } } }
protected override void OnApplyConfiguration(Binding binding) { WSHttpRelayBindingBase maxBufferPoolSize = (WSHttpRelayBindingBase)binding; maxBufferPoolSize.MaxBufferPoolSize = this.MaxBufferPoolSize; maxBufferPoolSize.MaxReceivedMessageSize = this.MaxReceivedMessageSize; maxBufferPoolSize.MessageEncoding = this.MessageEncoding; if (this.ProxyAddress != null) { maxBufferPoolSize.ProxyAddress = this.ProxyAddress; } maxBufferPoolSize.TextEncoding = this.TextEncoding; maxBufferPoolSize.UseDefaultWebProxy = this.UseDefaultWebProxy; maxBufferPoolSize.IsDynamic = this.IsDynamic; this.ReaderQuotas.ApplyConfiguration(maxBufferPoolSize.ReaderQuotas); this.ReliableSession.ApplyConfiguration(maxBufferPoolSize.ReliableSession); }
protected override void InitializeFrom(Binding binding) { base.InitializeFrom(binding); WSHttpRelayBindingBase wSHttpRelayBindingBase = (WSHttpRelayBindingBase)binding; this.MaxBufferPoolSize = wSHttpRelayBindingBase.MaxBufferPoolSize; this.MaxReceivedMessageSize = wSHttpRelayBindingBase.MaxReceivedMessageSize; this.MessageEncoding = wSHttpRelayBindingBase.MessageEncoding; if (wSHttpRelayBindingBase.ProxyAddress != null) { this.ProxyAddress = wSHttpRelayBindingBase.ProxyAddress; } this.TextEncoding = wSHttpRelayBindingBase.TextEncoding; this.UseDefaultWebProxy = wSHttpRelayBindingBase.UseDefaultWebProxy; this.IsDynamic = wSHttpRelayBindingBase.IsDynamic; this.ReaderQuotas.InitializeFrom(wSHttpRelayBindingBase.ReaderQuotas); this.ReliableSession.InitializeFrom(wSHttpRelayBindingBase.ReliableSession); }