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
- ExtenderControl.cs
- EventLogException.cs
- DispatcherHooks.cs
- TraceSection.cs
- SimplePropertyEntry.cs
- WebBrowserDesigner.cs
- UriSectionReader.cs
- XmlTextReader.cs
- MetricEntry.cs
- SqlColumnizer.cs
- RuleSettingsCollection.cs
- StackBuilderSink.cs
- BigInt.cs
- ConfigurationLockCollection.cs
- TypeReference.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- OuterGlowBitmapEffect.cs
- TreeNodeEventArgs.cs
- DataPagerFieldCommandEventArgs.cs
- MexTcpBindingCollectionElement.cs
- NameNode.cs
- ByteStack.cs
- BatchWriter.cs
- RequestResizeEvent.cs
- ResXDataNode.cs
- DependencyPropertyHelper.cs
- SelectionProcessor.cs
- SoapCommonClasses.cs
- HttpHandlerActionCollection.cs
- CommandHelpers.cs
- PeerObject.cs
- CompModSwitches.cs
- TextPointer.cs
- PagesChangedEventArgs.cs
- TextElementAutomationPeer.cs
- WorkflowViewStateService.cs
- BaseTemplateParser.cs
- FormatException.cs
- ConditionChanges.cs
- XmlReflectionMember.cs
- IgnoreSectionHandler.cs
- CodeMemberEvent.cs
- FacetChecker.cs
- MultiBindingExpression.cs
- ListViewDeleteEventArgs.cs
- Method.cs
- ApplicationSecurityInfo.cs
- EncoderExceptionFallback.cs
- TextInfo.cs
- SystemColors.cs
- MenuItemBinding.cs
- CodeTypeOfExpression.cs
- ContextMenuStripGroup.cs
- ComponentCommands.cs
- UrlAuthFailedErrorFormatter.cs
- TextDocumentView.cs
- DomNameTable.cs
- basevalidator.cs
- UserControl.cs
- XhtmlConformanceSection.cs
- jithelpers.cs
- RelationHandler.cs
- PathParser.cs
- BamlLocalizableResource.cs
- ZipIOExtraFieldElement.cs
- XXXOnTypeBuilderInstantiation.cs
- SecurityChannelFaultConverter.cs
- BindingCompleteEventArgs.cs
- TextCompositionEventArgs.cs
- ASCIIEncoding.cs
- OdbcCommandBuilder.cs
- Normalizer.cs
- HashAlgorithm.cs
- WebPartTransformerAttribute.cs
- RegexCode.cs
- PrivacyNoticeBindingElement.cs
- WebPartConnectionsDisconnectVerb.cs
- QilGeneratorEnv.cs
- BamlTreeMap.cs
- Operator.cs
- ToolStripHighContrastRenderer.cs
- ImageListImageEditor.cs
- SortQuery.cs
- WinEventTracker.cs
- PropertyTabAttribute.cs
- ConditionValidator.cs
- ViewGenerator.cs
- ExecutionPropertyManager.cs
- UnsafeNativeMethods.cs
- BasicViewGenerator.cs
- StackBuilderSink.cs
- CoTaskMemSafeHandle.cs
- CodePageEncoding.cs
- ResourceExpressionEditorSheet.cs
- TextBoxBase.cs
- Attributes.cs
- SqlMethodTransformer.cs
- _AutoWebProxyScriptWrapper.cs
- SecuritySessionSecurityTokenAuthenticator.cs
- UInt64Storage.cs