コード例 #1
0
 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);
         }
     }
 }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }