Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / Configuration / ScriptingJsonSerializationSection.cs / 1305376 / ScriptingJsonSerializationSection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System; using System.Configuration; using System.Web; using System.Web.Configuration; using System.Web.Script.Serialization; public sealed class ScriptingJsonSerializationSection : ConfigurationSection { private static readonly ConfigurationProperty _propConverters = new ConfigurationProperty("converters", typeof(ConvertersCollection), null, ConfigurationPropertyOptions.IsDefaultCollection); private static readonly ConfigurationProperty _propRecursionLimitLimit = new ConfigurationProperty("recursionLimit", typeof(int), 100, null, new IntegerValidator(1, int.MaxValue), ConfigurationPropertyOptions.None); private static readonly ConfigurationProperty _propMaxJsonLength = new ConfigurationProperty("maxJsonLength", typeof(int), 102400, null, new IntegerValidator(1, int.MaxValue), ConfigurationPropertyOptions.None); private static ConfigurationPropertyCollection _properties = BuildProperties(); private static ConfigurationPropertyCollection BuildProperties() { ConfigurationPropertyCollection props = new ConfigurationPropertyCollection(); props.Add(_propConverters); props.Add(_propRecursionLimitLimit); props.Add(_propMaxJsonLength); return props; } protected override ConfigurationPropertyCollection Properties { get { return _properties; } } [ConfigurationProperty("converters", IsKey = true, DefaultValue = "")] public ConvertersCollection Converters { get { return (ConvertersCollection)base[_propConverters]; } } [ConfigurationProperty("recursionLimit", DefaultValue = 100)] public int RecursionLimit { get { return (int)base[_propRecursionLimitLimit]; } set { base[_propRecursionLimitLimit] = value; } } [ConfigurationProperty("maxJsonLength", DefaultValue = 102400)] public int MaxJsonLength { get { return (int)base[_propMaxJsonLength]; } set { base[_propMaxJsonLength] = value; } } internal class ApplicationSettings { private int _recusionLimit; private int _maxJsonLimit; private JavaScriptConverter[] _converters; internal ApplicationSettings() { #pragma warning disable 0436 ScriptingJsonSerializationSection section = (ScriptingJsonSerializationSection) WebConfigurationManager.GetSection("system.web.extensions/scripting/webServices/jsonSerialization"); #pragma warning restore 0436 if (section != null) { _recusionLimit = section.RecursionLimit; _maxJsonLimit = section.MaxJsonLength; _converters = section.Converters.CreateConverters(); } else { _recusionLimit = (int)_propRecursionLimitLimit.DefaultValue; _maxJsonLimit = (int)_propMaxJsonLength.DefaultValue; _converters = new JavaScriptConverter[0]; } } internal int RecursionLimit { get { return _recusionLimit; } } internal int MaxJsonLimit { get { return _maxJsonLimit; } } internal JavaScriptConverter[] Converters { get { return _converters; } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System; using System.Configuration; using System.Web; using System.Web.Configuration; using System.Web.Script.Serialization; public sealed class ScriptingJsonSerializationSection : ConfigurationSection { private static readonly ConfigurationProperty _propConverters = new ConfigurationProperty("converters", typeof(ConvertersCollection), null, ConfigurationPropertyOptions.IsDefaultCollection); private static readonly ConfigurationProperty _propRecursionLimitLimit = new ConfigurationProperty("recursionLimit", typeof(int), 100, null, new IntegerValidator(1, int.MaxValue), ConfigurationPropertyOptions.None); private static readonly ConfigurationProperty _propMaxJsonLength = new ConfigurationProperty("maxJsonLength", typeof(int), 102400, null, new IntegerValidator(1, int.MaxValue), ConfigurationPropertyOptions.None); private static ConfigurationPropertyCollection _properties = BuildProperties(); private static ConfigurationPropertyCollection BuildProperties() { ConfigurationPropertyCollection props = new ConfigurationPropertyCollection(); props.Add(_propConverters); props.Add(_propRecursionLimitLimit); props.Add(_propMaxJsonLength); return props; } protected override ConfigurationPropertyCollection Properties { get { return _properties; } } [ConfigurationProperty("converters", IsKey = true, DefaultValue = "")] public ConvertersCollection Converters { get { return (ConvertersCollection)base[_propConverters]; } } [ConfigurationProperty("recursionLimit", DefaultValue = 100)] public int RecursionLimit { get { return (int)base[_propRecursionLimitLimit]; } set { base[_propRecursionLimitLimit] = value; } } [ConfigurationProperty("maxJsonLength", DefaultValue = 102400)] public int MaxJsonLength { get { return (int)base[_propMaxJsonLength]; } set { base[_propMaxJsonLength] = value; } } internal class ApplicationSettings { private int _recusionLimit; private int _maxJsonLimit; private JavaScriptConverter[] _converters; internal ApplicationSettings() { #pragma warning disable 0436 ScriptingJsonSerializationSection section = (ScriptingJsonSerializationSection) WebConfigurationManager.GetSection("system.web.extensions/scripting/webServices/jsonSerialization"); #pragma warning restore 0436 if (section != null) { _recusionLimit = section.RecursionLimit; _maxJsonLimit = section.MaxJsonLength; _converters = section.Converters.CreateConverters(); } else { _recusionLimit = (int)_propRecursionLimitLimit.DefaultValue; _maxJsonLimit = (int)_propMaxJsonLength.DefaultValue; _converters = new JavaScriptConverter[0]; } } internal int RecursionLimit { get { return _recusionLimit; } } internal int MaxJsonLimit { get { return _maxJsonLimit; } } internal JavaScriptConverter[] Converters { get { return _converters; } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- InvalidDocumentContentsException.cs
- TaskFactory.cs
- GeometryDrawing.cs
- ConstraintStruct.cs
- PeerNameRecord.cs
- UriParserTemplates.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- SiteMapSection.cs
- ValidationError.cs
- ToolbarAUtomationPeer.cs
- RelationshipEndCollection.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- SynchronizedInputPattern.cs
- TargetParameterCountException.cs
- ArgumentsParser.cs
- LogicalTreeHelper.cs
- CodeArrayIndexerExpression.cs
- ObjRef.cs
- TiffBitmapEncoder.cs
- Evidence.cs
- InvalidPropValue.cs
- AnnotationMap.cs
- GridViewColumnCollectionChangedEventArgs.cs
- CqlParser.cs
- Triplet.cs
- _NetRes.cs
- FindRequestContext.cs
- SHA1Managed.cs
- FilteredDataSetHelper.cs
- FunctionImportMapping.cs
- MemoryRecordBuffer.cs
- AddingNewEventArgs.cs
- Events.cs
- OleDbCommand.cs
- BufferAllocator.cs
- SafeProcessHandle.cs
- TextShapeableCharacters.cs
- CompositeActivityValidator.cs
- StoreItemCollection.Loader.cs
- DependencyObjectPropertyDescriptor.cs
- SafePointer.cs
- DecimalSumAggregationOperator.cs
- FontSizeConverter.cs
- X500Name.cs
- XmlChildEnumerator.cs
- EventDriven.cs
- SchemaType.cs
- EntityContainerRelationshipSet.cs
- PathBox.cs
- CodeTypeParameterCollection.cs
- MetadataUtil.cs
- Cursor.cs
- AuthenticateEventArgs.cs
- EntityType.cs
- COM2EnumConverter.cs
- DataGridItem.cs
- SecurityRuntime.cs
- ZeroOpNode.cs
- CodeMemberEvent.cs
- EdmMember.cs
- DefaultTextStore.cs
- ItemsControlAutomationPeer.cs
- Expander.cs
- ElementNotAvailableException.cs
- SqlAggregateChecker.cs
- Parser.cs
- SecuritySessionSecurityTokenProvider.cs
- DateTime.cs
- UntypedNullExpression.cs
- SiteMapDataSource.cs
- DSASignatureFormatter.cs
- RowToParametersTransformer.cs
- DynamicValueConverter.cs
- AsyncPostBackTrigger.cs
- RsaSecurityKey.cs
- GCHandleCookieTable.cs
- URI.cs
- AddingNewEventArgs.cs
- RequestUriProcessor.cs
- NumberFunctions.cs
- PackageRelationship.cs
- ComboBoxRenderer.cs
- CacheEntry.cs
- View.cs
- PolygonHotSpot.cs
- xmlsaver.cs
- ExcCanonicalXml.cs
- DataServiceContext.cs
- AlternationConverter.cs
- UnauthorizedWebPart.cs
- TextEditorThreadLocalStore.cs
- SymbolDocumentGenerator.cs
- ZipFileInfo.cs
- SingleBodyParameterMessageFormatter.cs
- ParsedAttributeCollection.cs
- CodeArrayCreateExpression.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- DataGridPagerStyle.cs
- __FastResourceComparer.cs
- InitializationEventAttribute.cs