protected override bool IsMatch(BindingElement b) { if (!base.IsMatch(b)) { return(false); } MtomMessageEncodingBindingElement mtom = b as MtomMessageEncodingBindingElement; if (mtom == null) { return(false); } if (_maxReadPoolSize != mtom.MaxReadPoolSize) { return(false); } if (_maxWritePoolSize != mtom.MaxWritePoolSize) { return(false); } // compare XmlDictionaryReaderQuotas if (_readerQuotas.MaxStringContentLength != mtom.ReaderQuotas.MaxStringContentLength) { return(false); } if (_readerQuotas.MaxArrayLength != mtom.ReaderQuotas.MaxArrayLength) { return(false); } if (_readerQuotas.MaxBytesPerRead != mtom.ReaderQuotas.MaxBytesPerRead) { return(false); } if (_readerQuotas.MaxDepth != mtom.ReaderQuotas.MaxDepth) { return(false); } if (_readerQuotas.MaxNameTableCharCount != mtom.ReaderQuotas.MaxNameTableCharCount) { return(false); } if (_maxBufferSize != mtom.MaxBufferSize) { return(false); } if (WriteEncoding.EncodingName != mtom.WriteEncoding.EncodingName) { return(false); } if (!MessageVersion.IsMatch(mtom.MessageVersion)) { return(false); } return(true); }
MtomMessageEncodingBindingElement(MtomMessageEncodingBindingElement elementToBeCloned) : base(elementToBeCloned) { _maxReadPoolSize = elementToBeCloned._maxReadPoolSize; _maxWritePoolSize = elementToBeCloned._maxWritePoolSize; _readerQuotas = new XmlDictionaryReaderQuotas(); elementToBeCloned._readerQuotas.CopyTo(_readerQuotas); _maxBufferSize = elementToBeCloned._maxBufferSize; _writeEncoding = elementToBeCloned._writeEncoding; _messageVersion = elementToBeCloned._messageVersion; }