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
- DataAdapter.cs
- ConfigXmlAttribute.cs
- Catch.cs
- ControlBindingsCollection.cs
- SplitterEvent.cs
- UnmanagedHandle.cs
- ItemChangedEventArgs.cs
- ChannelReliableSession.cs
- XmlSchemaComplexContentRestriction.cs
- DateRangeEvent.cs
- ServiceModelActivity.cs
- HitTestWithGeometryDrawingContextWalker.cs
- SizeChangedEventArgs.cs
- PassportAuthenticationModule.cs
- CellLabel.cs
- DiscoveryExceptionDictionary.cs
- AttributeUsageAttribute.cs
- ComplexTypeEmitter.cs
- XDeferredAxisSource.cs
- CharStorage.cs
- ControlCachePolicy.cs
- DnsPermission.cs
- RoleManagerModule.cs
- TextServicesCompartment.cs
- DecoderReplacementFallback.cs
- ModifierKeysValueSerializer.cs
- LeaseManager.cs
- ProgressBarHighlightConverter.cs
- BrowsableAttribute.cs
- Expr.cs
- XmlDocumentFragment.cs
- EditorPart.cs
- SearchForVirtualItemEventArgs.cs
- PresentationAppDomainManager.cs
- XmlNamespaceManager.cs
- SelectedCellsChangedEventArgs.cs
- DoubleUtil.cs
- EntryWrittenEventArgs.cs
- XsltQilFactory.cs
- TreeViewAutomationPeer.cs
- GregorianCalendar.cs
- MappingSource.cs
- InvalidOleVariantTypeException.cs
- HtmlToClrEventProxy.cs
- PropertyNames.cs
- CancellationState.cs
- Point3DValueSerializer.cs
- _Connection.cs
- WebAdminConfigurationHelper.cs
- ReverseInheritProperty.cs
- SliderAutomationPeer.cs
- CookieParameter.cs
- DropSource.cs
- SafeNativeMethodsOther.cs
- _StreamFramer.cs
- XmlSequenceWriter.cs
- SqlInfoMessageEvent.cs
- MarkupExtensionParser.cs
- HttpRequestWrapper.cs
- Point3DCollection.cs
- XmlAttributeAttribute.cs
- PersonalizationStateQuery.cs
- TrackingServices.cs
- COM2PropertyBuilderUITypeEditor.cs
- TraceSection.cs
- SiteMap.cs
- CharacterMetrics.cs
- SystemIPInterfaceProperties.cs
- InfiniteIntConverter.cs
- SingleStorage.cs
- ContentPlaceHolder.cs
- Splitter.cs
- ExcludePathInfo.cs
- XmlHierarchyData.cs
- StrokeNodeData.cs
- DelegateBodyWriter.cs
- ExtensionQuery.cs
- GroupBoxRenderer.cs
- XmlSchemaSimpleType.cs
- SoapIncludeAttribute.cs
- IImplicitResourceProvider.cs
- entityreference_tresulttype.cs
- GeometryHitTestParameters.cs
- OleDbEnumerator.cs
- sqlnorm.cs
- StrokeDescriptor.cs
- XmlAttributeAttribute.cs
- FileInfo.cs
- JavaScriptObjectDeserializer.cs
- DeclarativeCatalogPart.cs
- QueryInterceptorAttribute.cs
- CompareValidator.cs
- HttpListener.cs
- CodeTypeParameterCollection.cs
- KeyedHashAlgorithm.cs
- DataGridViewRowEventArgs.cs
- DynamicUpdateCommand.cs
- PipeSecurity.cs
- EntityDataSourceStatementEditor.cs
- Parallel.cs