CustomBinding mexBinding = new CustomBinding(MetadataExchangeBindings.CreateMexHttpBinding());
           
            for (int i = 0; i < mexBinding.Elements.Count; i++)
            {

                HttpTransportBindingElement transport = mexBinding.Elements[i] as HttpTransportBindingElement;
                if (transport != null)
                {
                    transport.MaxReceivedMessageSize = int.MaxValue;
                   
                }
                TextMessageEncodingBindingElement textMEBE =

                    mexBinding.Elements[i] as TextMessageEncodingBindingElement;
              

                if (textMEBE != null)
                {

                    textMEBE.ReaderQuotas.MaxArrayLength = textMEBE.ReaderQuotas.MaxBytesPerRead =

                        textMEBE.ReaderQuotas.MaxDepth = textMEBE.ReaderQuotas.MaxNameTableCharCount =

                        textMEBE.ReaderQuotas.MaxStringContentLength = int.MaxValue;

                }

            }

            MetadataExchangeClient mexClient = new MetadataExchangeClient(mexBinding);