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
- CalculatedColumn.cs
- BooleanToVisibilityConverter.cs
- StatusBarPanel.cs
- basenumberconverter.cs
- XamlReader.cs
- SqlPersonalizationProvider.cs
- SqlConnectionManager.cs
- WebBrowserUriTypeConverter.cs
- DataSourceCache.cs
- Regex.cs
- SynchronizedInputProviderWrapper.cs
- Environment.cs
- TypeResolver.cs
- WebPartDisplayModeCancelEventArgs.cs
- counter.cs
- ItemCheckedEvent.cs
- TextEndOfSegment.cs
- WindowsToolbarItemAsMenuItem.cs
- PolicyDesigner.cs
- CacheMemory.cs
- GridViewAutoFormat.cs
- BitmapCodecInfoInternal.cs
- TextBlockAutomationPeer.cs
- UriParserTemplates.cs
- GestureRecognitionResult.cs
- TextEditorSelection.cs
- Quaternion.cs
- StackBuilderSink.cs
- DetailsViewDeleteEventArgs.cs
- FormattedTextSymbols.cs
- Rijndael.cs
- ListViewItemSelectionChangedEvent.cs
- SafeLibraryHandle.cs
- OleDbPropertySetGuid.cs
- ToolZone.cs
- indexingfiltermarshaler.cs
- PropertyGridCommands.cs
- CellPartitioner.cs
- Condition.cs
- SecurityAlgorithmSuiteConverter.cs
- ActionFrame.cs
- XmlTypeAttribute.cs
- EventRecordWrittenEventArgs.cs
- SiteMapSection.cs
- ConnectionManagementSection.cs
- VisualBasicSettingsHandler.cs
- XPathMultyIterator.cs
- StdValidatorsAndConverters.cs
- ScriptResourceDefinition.cs
- WindowInteropHelper.cs
- GridViewEditEventArgs.cs
- ZoneIdentityPermission.cs
- MemberMaps.cs
- ForeignKeyConstraint.cs
- _SingleItemRequestCache.cs
- XmlNullResolver.cs
- ListViewItemMouseHoverEvent.cs
- ValidationRule.cs
- ToolboxSnapDragDropEventArgs.cs
- RijndaelCryptoServiceProvider.cs
- VariantWrapper.cs
- SimpleNameService.cs
- WebUtil.cs
- MetadataSource.cs
- FaultException.cs
- MonthChangedEventArgs.cs
- ChtmlTextWriter.cs
- Environment.cs
- CodeGeneratorAttribute.cs
- UserControl.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- QueueNameHelper.cs
- DynamicObjectAccessor.cs
- DefaultConfirmation.cs
- InfoCardMasterKey.cs
- SafeRightsManagementSessionHandle.cs
- PersonalizationAdministration.cs
- XmlMembersMapping.cs
- ObjectFullSpanRewriter.cs
- BuilderPropertyEntry.cs
- ScopelessEnumAttribute.cs
- ParsedAttributeCollection.cs
- TreeViewAutomationPeer.cs
- DynamicValidatorEventArgs.cs
- DateTimeValueSerializer.cs
- Comparer.cs
- ConfigViewGenerator.cs
- HttpProcessUtility.cs
- ReadOnlyDataSourceView.cs
- SignatureToken.cs
- PropertyToken.cs
- ConfigXmlComment.cs
- validationstate.cs
- ThemeInfoAttribute.cs
- StringBlob.cs
- LinkConverter.cs
- WebPartCancelEventArgs.cs
- BufferBuilder.cs
- TabControlToolboxItem.cs
- InputLanguageEventArgs.cs