private void SaveSettings(Uri url, TransportChannelSettings settings)
{
// save the settings.
m_url = url;
m_settings = settings;
m_operationTimeout = settings.Configuration.OperationTimeout;
// initialize the quotas.
m_quotas = new TcpChannelQuotas();
m_quotas.MaxBufferSize = m_settings.Configuration.MaxBufferSize;
m_quotas.MaxMessageSize = m_settings.Configuration.MaxMessageSize;
m_quotas.ChannelLifetime = m_settings.Configuration.ChannelLifetime;
m_quotas.SecurityTokenLifetime = m_settings.Configuration.SecurityTokenLifetime;
m_quotas.MessageContext = new ServiceMessageContext();
m_quotas.MessageContext.MaxArrayLength = m_settings.Configuration.MaxArrayLength;
m_quotas.MessageContext.MaxByteStringLength = m_settings.Configuration.MaxByteStringLength;
m_quotas.MessageContext.MaxMessageSize = m_settings.Configuration.MaxMessageSize;
m_quotas.MessageContext.MaxStringLength = m_settings.Configuration.MaxStringLength;
m_quotas.MessageContext.NamespaceUris = m_settings.NamespaceUris;
m_quotas.MessageContext.ServerUris = new StringTable();
m_quotas.MessageContext.Factory = m_settings.Factory;
m_quotas.CertificateValidator = settings.CertificateValidator;
// create the buffer manager.
m_bufferManager = new BufferManager("Client", (int)Int32.MaxValue, settings.Configuration.MaxBufferSize);
}