protected override void OnApplyConfiguration(Binding binding)
        {
            XmlRpcHttpBinding xmlRpcHttpBinding = (XmlRpcHttpBinding)binding;

            xmlRpcHttpBinding.BypassProxyOnLocal     = this.BypassProxyOnLocal;
            xmlRpcHttpBinding.HostNameComparisonMode = this.HostNameComparisonMode;
            xmlRpcHttpBinding.MaxBufferPoolSize      = this.MaxBufferPoolSize;
            xmlRpcHttpBinding.MaxReceivedMessageSize = this.MaxReceivedMessageSize;
            xmlRpcHttpBinding.TransferMode           = this.TransferMode;
            xmlRpcHttpBinding.UseDefaultWebProxy     = this.UseDefaultWebProxy;
            xmlRpcHttpBinding.AllowCookies           = this.AllowCookies;
            xmlRpcHttpBinding.ProxyAddress           = this.ProxyAddress;
            if (base.ElementInformation.Properties["maxBufferSize"].ValueOrigin != PropertyValueOrigin.Default)
            {
                xmlRpcHttpBinding.MaxBufferSize = this.MaxBufferSize;
            }
            this.Security.ApplyConfiguration(xmlRpcHttpBinding.Security);
            if (this.ReaderQuotas.ElementInformation.IsPresent)
            {
                xmlRpcHttpBinding.ReaderQuotas.MaxDepth = this.ReaderQuotas.MaxDepth;
                xmlRpcHttpBinding.ReaderQuotas.MaxStringContentLength    = this.ReaderQuotas.MaxStringContentLength;
                xmlRpcHttpBinding.ReaderQuotas.MaxArrayLength            = this.ReaderQuotas.MaxArrayLength;
                xmlRpcHttpBinding.ReaderQuotas.MaxBytesPerRead           = this.ReaderQuotas.MaxBytesPerRead =
                    xmlRpcHttpBinding.ReaderQuotas.MaxNameTableCharCount = this.ReaderQuotas.MaxNameTableCharCount;
            }
        }
        protected override void InitializeFrom(Binding binding)
        {
            base.InitializeFrom(binding);
            XmlRpcHttpBinding xmlRpcHttpBinding = (XmlRpcHttpBinding)binding;

            this.BypassProxyOnLocal     = xmlRpcHttpBinding.BypassProxyOnLocal;
            this.HostNameComparisonMode = xmlRpcHttpBinding.HostNameComparisonMode;
            this.MaxBufferSize          = xmlRpcHttpBinding.MaxBufferSize;
            this.MaxBufferPoolSize      = xmlRpcHttpBinding.MaxBufferPoolSize;
            this.MaxReceivedMessageSize = xmlRpcHttpBinding.MaxReceivedMessageSize;
            this.ProxyAddress           = xmlRpcHttpBinding.ProxyAddress;
            this.TransferMode           = xmlRpcHttpBinding.TransferMode;
            this.UseDefaultWebProxy     = xmlRpcHttpBinding.UseDefaultWebProxy;
            this.AllowCookies           = xmlRpcHttpBinding.AllowCookies;
            this.Security.InitializeFrom(xmlRpcHttpBinding.Security);

            this.ReaderQuotas.MaxDepth = xmlRpcHttpBinding.ReaderQuotas.MaxDepth;
            this.ReaderQuotas.MaxStringContentLength = xmlRpcHttpBinding.ReaderQuotas.MaxStringContentLength;
            this.ReaderQuotas.MaxArrayLength         = xmlRpcHttpBinding.ReaderQuotas.MaxArrayLength;
            this.ReaderQuotas.MaxBytesPerRead        = xmlRpcHttpBinding.ReaderQuotas.MaxBytesPerRead;
            this.ReaderQuotas.MaxNameTableCharCount  = xmlRpcHttpBinding.ReaderQuotas.MaxNameTableCharCount;
        }