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
- PagesSection.cs
- SharedDp.cs
- StrokeRenderer.cs
- SystemIPInterfaceStatistics.cs
- ConfigurationFileMap.cs
- TrackingStringDictionary.cs
- MDIWindowDialog.cs
- Item.cs
- Util.cs
- RawUIStateInputReport.cs
- OperationAbortedException.cs
- ReferenceConverter.cs
- ThreadStateException.cs
- HttpConfigurationSystem.cs
- RoleServiceManager.cs
- Action.cs
- IPEndPointCollection.cs
- DynamicActionMessageFilter.cs
- ImpersonateTokenRef.cs
- MobileComponentEditorPage.cs
- LocatorGroup.cs
- RTLAwareMessageBox.cs
- UnknownWrapper.cs
- InternalEnumValidator.cs
- ExtensionQuery.cs
- SqlTriggerAttribute.cs
- figurelengthconverter.cs
- RegexInterpreter.cs
- ButtonDesigner.cs
- RtfControlWordInfo.cs
- AutomationProperties.cs
- TrustSection.cs
- HostedController.cs
- BindingExpression.cs
- ObjectQueryExecutionPlan.cs
- WorkflowOperationBehavior.cs
- CodeAttributeArgumentCollection.cs
- SqlSelectStatement.cs
- BinHexDecoder.cs
- DependencyPropertyKind.cs
- DesigntimeLicenseContext.cs
- Attributes.cs
- ToolStripSeparator.cs
- FixedHyperLink.cs
- Sql8ConformanceChecker.cs
- SendKeys.cs
- DbProviderManifest.cs
- ObjectDataSourceEventArgs.cs
- Constraint.cs
- DirtyTextRange.cs
- ProcessInfo.cs
- ParameterSubsegment.cs
- SqlXml.cs
- CFStream.cs
- HMACSHA384.cs
- DefaultEventAttribute.cs
- ZipPackage.cs
- FontFamilyIdentifier.cs
- HtmlProps.cs
- HostingEnvironment.cs
- TypeConverterValueSerializer.cs
- ValuePattern.cs
- RoleGroupCollection.cs
- SqlConnection.cs
- DictionaryManager.cs
- NameTable.cs
- StylusEventArgs.cs
- AbstractExpressions.cs
- XmlComplianceUtil.cs
- ExpandCollapsePatternIdentifiers.cs
- DataGridCellInfo.cs
- GenerateDerivedKeyRequest.cs
- RegexTree.cs
- FontSizeConverter.cs
- PostBackTrigger.cs
- EpmContentSerializerBase.cs
- AffineTransform3D.cs
- MimeFormatExtensions.cs
- DescendentsWalker.cs
- TypeConstant.cs
- PersonalizationEntry.cs
- HashHelper.cs
- InputDevice.cs
- CustomActivityDesigner.cs
- ReadOnlyCollectionBase.cs
- EmbeddedMailObject.cs
- SoapFormatExtensions.cs
- ElementAction.cs
- Rect.cs
- MemberAccessException.cs
- DynamicILGenerator.cs
- XmlChildNodes.cs
- UnsafeNativeMethodsTablet.cs
- BuilderPropertyEntry.cs
- WebPartTransformer.cs
- WebPartDisplayModeCollection.cs
- StreamGeometry.cs
- SymmetricCryptoHandle.cs
- PasswordTextContainer.cs
- DesignerTransactionCloseEvent.cs