| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- //------------------------------------------------------------------------------
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //------------------------------------------------------------------------------
- namespace System.ServiceModel.Configuration
- {
- using System.Configuration;
- using System.Globalization;
- using System.Net;
- using System.Xml;
- using System.ServiceModel;
- using System.ComponentModel;
- using System.ServiceModel.Channels;
- public sealed partial class XmlDictionaryReaderQuotasElement : ServiceModelConfigurationElement
- {
- // for all properties, a value of 0 means "just use the default"
- [ConfigurationProperty(ConfigurationStrings.MaxDepth, DefaultValue = 0)]
- [IntegerValidator(MinValue = 0)]
- public int MaxDepth
- {
- get { return (int)base[ConfigurationStrings.MaxDepth]; }
- set { base[ConfigurationStrings.MaxDepth] = value; }
- }
- [ConfigurationProperty(ConfigurationStrings.MaxStringContentLength, DefaultValue = 0)]
- [IntegerValidator(MinValue = 0)]
- public int MaxStringContentLength
- {
- get { return (int)base[ConfigurationStrings.MaxStringContentLength]; }
- set { base[ConfigurationStrings.MaxStringContentLength] = value; }
- }
- [ConfigurationProperty(ConfigurationStrings.MaxArrayLength, DefaultValue = 0)]
- [IntegerValidator(MinValue = 0)]
- public int MaxArrayLength
- {
- get { return (int)base[ConfigurationStrings.MaxArrayLength]; }
- set { base[ConfigurationStrings.MaxArrayLength] = value; }
- }
- [ConfigurationProperty(ConfigurationStrings.MaxBytesPerRead, DefaultValue = 0)]
- [IntegerValidator(MinValue = 0)]
- public int MaxBytesPerRead
- {
- get { return (int)base[ConfigurationStrings.MaxBytesPerRead]; }
- set { base[ConfigurationStrings.MaxBytesPerRead] = value; }
- }
- [ConfigurationProperty(ConfigurationStrings.MaxNameTableCharCount, DefaultValue = 0)]
- [IntegerValidator(MinValue = 0)]
- public int MaxNameTableCharCount
- {
- get { return (int)base[ConfigurationStrings.MaxNameTableCharCount]; }
- set { base[ConfigurationStrings.MaxNameTableCharCount] = value; }
- }
- internal void ApplyConfiguration(XmlDictionaryReaderQuotas readerQuotas)
- {
- if (readerQuotas == null)
- {
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("readerQuotas");
- }
- if (this.MaxDepth != 0)
- {
- readerQuotas.MaxDepth = this.MaxDepth;
- }
- if (this.MaxStringContentLength != 0)
- {
- readerQuotas.MaxStringContentLength = this.MaxStringContentLength;
- }
- if (this.MaxArrayLength != 0)
- {
- readerQuotas.MaxArrayLength = this.MaxArrayLength;
- }
- if (this.MaxBytesPerRead != 0)
- {
- readerQuotas.MaxBytesPerRead = this.MaxBytesPerRead;
- }
- if (this.MaxNameTableCharCount != 0)
- {
- readerQuotas.MaxNameTableCharCount = this.MaxNameTableCharCount;
- }
- }
- internal void InitializeFrom(XmlDictionaryReaderQuotas readerQuotas)
- {
- if (readerQuotas == null)
- {
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("readerQuotas");
- }
- if (readerQuotas.MaxDepth != EncoderDefaults.MaxDepth)
- {
- SetPropertyValueIfNotDefaultValue(ConfigurationStrings.MaxDepth, readerQuotas.MaxDepth);
- }
- if (readerQuotas.MaxStringContentLength != EncoderDefaults.MaxStringContentLength)
- {
- SetPropertyValueIfNotDefaultValue(ConfigurationStrings.MaxStringContentLength, readerQuotas.MaxStringContentLength);
- }
- if (readerQuotas.MaxArrayLength != EncoderDefaults.MaxArrayLength)
- {
- SetPropertyValueIfNotDefaultValue(ConfigurationStrings.MaxArrayLength, readerQuotas.MaxArrayLength);
- }
- if (readerQuotas.MaxBytesPerRead != EncoderDefaults.MaxBytesPerRead)
- {
- SetPropertyValueIfNotDefaultValue(ConfigurationStrings.MaxBytesPerRead, readerQuotas.MaxBytesPerRead);
- }
- if (readerQuotas.MaxNameTableCharCount != EncoderDefaults.MaxNameTableCharCount)
- {
- SetPropertyValueIfNotDefaultValue(ConfigurationStrings.MaxNameTableCharCount, readerQuotas.MaxNameTableCharCount);
- }
- }
- }
- }
|