Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / Serialization / System / Xml / XmlDictionaryReaderQuotas.cs / 1 / XmlDictionaryReaderQuotas.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Xml { using System.Runtime.Serialization; public sealed class XmlDictionaryReaderQuotas { bool readOnly; int maxStringContentLength; int maxArrayLength; int maxDepth; int maxNameTableCharCount; int maxBytesPerRead; const int DefaultMaxDepth = 32; const int DefaultMaxStringContentLength = 8192; const int DefaultMaxArrayLength = 16384; const int DefaultMaxBytesPerRead = 4096; const int DefaultMaxNameTableCharCount = 16384; static XmlDictionaryReaderQuotas defaultQuota = new XmlDictionaryReaderQuotas(DefaultMaxDepth, DefaultMaxStringContentLength, DefaultMaxArrayLength, DefaultMaxBytesPerRead, DefaultMaxNameTableCharCount); static XmlDictionaryReaderQuotas maxQuota = new XmlDictionaryReaderQuotas(int.MaxValue, int.MaxValue, int.MaxValue, int.MaxValue, int.MaxValue); public XmlDictionaryReaderQuotas() { defaultQuota.CopyTo(this); } XmlDictionaryReaderQuotas(int maxDepth, int maxStringContentLength, int maxArrayLength, int maxBytesPerRead, int maxNameTableCharCount) { this.maxDepth = maxDepth; this.maxStringContentLength = maxStringContentLength; this.maxArrayLength = maxArrayLength; this.maxBytesPerRead = maxBytesPerRead; this.maxNameTableCharCount = maxNameTableCharCount; MakeReadOnly(); } static public XmlDictionaryReaderQuotas Max { get { return maxQuota; } } public void CopyTo(XmlDictionaryReaderQuotas quotas) { if (quotas == null) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("quotas")); if (quotas.readOnly) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.QuotaCopyReadOnly))); InternalCopyTo(quotas); } internal void InternalCopyTo(XmlDictionaryReaderQuotas quotas) { quotas.maxStringContentLength = this.maxStringContentLength; quotas.maxArrayLength = this.maxArrayLength; quotas.maxDepth = this.MaxDepth; quotas.maxNameTableCharCount = this.maxNameTableCharCount; quotas.maxBytesPerRead = this.maxBytesPerRead; } public int MaxStringContentLength { get { return maxStringContentLength; } set { if (readOnly) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.QuotaIsReadOnly, "MaxStringContentLength"))); if (value <= 0) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.GetString(SR.QuotaMustBePositive), "value")); maxStringContentLength = value; } } public int MaxArrayLength { get { return maxArrayLength; } set { if (readOnly) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.QuotaIsReadOnly, "MaxArrayLength"))); if (value <= 0) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.GetString(SR.QuotaMustBePositive), "value")); maxArrayLength = value; } } public int MaxBytesPerRead { get { return maxBytesPerRead; } set { if (readOnly) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.QuotaIsReadOnly, "MaxBytesPerRead"))); if (value <= 0) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.GetString(SR.QuotaMustBePositive), "value")); maxBytesPerRead = value; } } public int MaxDepth { get { return maxDepth; } set { if (readOnly) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.QuotaIsReadOnly, "MaxDepth"))); if (value <= 0) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.GetString(SR.QuotaMustBePositive), "value")); maxDepth = value; } } public int MaxNameTableCharCount { get { return maxNameTableCharCount; } set { if (readOnly) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.QuotaIsReadOnly, "MaxNameTableCharCount"))); if (value <= 0) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.GetString(SR.QuotaMustBePositive), "value")); maxNameTableCharCount = value; } } internal void MakeReadOnly() { this.readOnly = true; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ConsumerConnectionPointCollection.cs
- ContextQuery.cs
- XmlIgnoreAttribute.cs
- RotateTransform3D.cs
- BitmapPalette.cs
- DataViewSetting.cs
- SemaphoreSlim.cs
- ParallelActivityDesigner.cs
- GridItemPattern.cs
- ConfigXmlCDataSection.cs
- PageHandlerFactory.cs
- EntityDataSourceDataSelection.cs
- WindowsFormsSectionHandler.cs
- EncoderNLS.cs
- TextSpan.cs
- TraceData.cs
- EnumBuilder.cs
- DependencyObjectType.cs
- ResponseBodyWriter.cs
- RegexFCD.cs
- PlainXmlDeserializer.cs
- AVElementHelper.cs
- SystemInformation.cs
- TypeForwardedToAttribute.cs
- HttpWebRequest.cs
- ColumnBinding.cs
- messageonlyhwndwrapper.cs
- ProxyGenerator.cs
- LiteralText.cs
- RegexParser.cs
- AuthenticationSection.cs
- CallbackHandler.cs
- MetadataCache.cs
- FormViewUpdateEventArgs.cs
- ParserExtension.cs
- UniformGrid.cs
- ExpressionNormalizer.cs
- TypeHelper.cs
- DesignerObject.cs
- BufferedReadStream.cs
- ReferencedCollectionType.cs
- NumericUpDownAccelerationCollection.cs
- NullRuntimeConfig.cs
- DaylightTime.cs
- DataSetMappper.cs
- Expressions.cs
- SimpleRecyclingCache.cs
- UserNameSecurityTokenAuthenticator.cs
- ConnectorSelectionGlyph.cs
- _SecureChannel.cs
- AnimatedTypeHelpers.cs
- Assert.cs
- ThousandthOfEmRealDoubles.cs
- FixedNode.cs
- CheckBox.cs
- BaseValidatorDesigner.cs
- WmpBitmapEncoder.cs
- StylusShape.cs
- WebPartCloseVerb.cs
- KeyToListMap.cs
- RelatedEnd.cs
- GridViewRowPresenterBase.cs
- RequiredAttributeAttribute.cs
- EdmError.cs
- StatusBarPanel.cs
- PropertyEmitterBase.cs
- HashUtility.cs
- SymbolType.cs
- DataRow.cs
- ScrollPatternIdentifiers.cs
- UMPAttributes.cs
- SettingsAttributeDictionary.cs
- AssemblyAssociatedContentFileAttribute.cs
- TimelineCollection.cs
- DataTableMappingCollection.cs
- ResourceWriter.cs
- AspNetSynchronizationContext.cs
- LinkButton.cs
- XmlSchemaElement.cs
- COM2FontConverter.cs
- BinaryConverter.cs
- XmlSchemaInfo.cs
- DataObjectPastingEventArgs.cs
- SiteMapProvider.cs
- List.cs
- CrossAppDomainChannel.cs
- _HeaderInfoTable.cs
- BaseCodeDomTreeGenerator.cs
- NameValueSectionHandler.cs
- ServicePointManager.cs
- ControlBuilder.cs
- RegexRunner.cs
- RoutingSection.cs
- UpdatePanelControlTrigger.cs
- SqlUtils.cs
- GridViewUpdateEventArgs.cs
- LineProperties.cs
- Visual.cs
- ReverseQueryOperator.cs
- DataGridDefaultColumnWidthTypeConverter.cs