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
- SqlInfoMessageEvent.cs
- ResourceDefaultValueAttribute.cs
- CodeExpressionRuleDeclaration.cs
- InputLanguageCollection.cs
- ValidationEventArgs.cs
- AppDomainManager.cs
- DataGridSortCommandEventArgs.cs
- MgmtConfigurationRecord.cs
- DesignerDataTable.cs
- ArgumentOutOfRangeException.cs
- ExpressionContext.cs
- RtfToken.cs
- RegexWriter.cs
- WebPartConnectionsCancelVerb.cs
- Point.cs
- PageAsyncTask.cs
- CreateParams.cs
- CapabilitiesUse.cs
- Int64KeyFrameCollection.cs
- DynamicExpression.cs
- Literal.cs
- Certificate.cs
- WinEventTracker.cs
- UserValidatedEventArgs.cs
- FilterQuery.cs
- ZipPackagePart.cs
- ShapeTypeface.cs
- ValueSerializerAttribute.cs
- OleStrCAMarshaler.cs
- ConfigXmlElement.cs
- ConnectionManagementElementCollection.cs
- XmlDigitalSignatureProcessor.cs
- Function.cs
- UnauthorizedWebPart.cs
- CultureInfoConverter.cs
- SizeIndependentAnimationStorage.cs
- TagPrefixAttribute.cs
- BinaryConverter.cs
- BorderGapMaskConverter.cs
- FixedPage.cs
- DescendantQuery.cs
- Image.cs
- SecurityContextSecurityTokenParameters.cs
- DispatchChannelSink.cs
- ExitEventArgs.cs
- SyntaxCheck.cs
- ContentFileHelper.cs
- DescendentsWalker.cs
- SiteMembershipCondition.cs
- DefaultTextStore.cs
- CredentialCache.cs
- SafeFileMappingHandle.cs
- ColumnMapProcessor.cs
- Point3DAnimationUsingKeyFrames.cs
- SqlCachedBuffer.cs
- ReachPrintTicketSerializer.cs
- StorageAssociationSetMapping.cs
- embossbitmapeffect.cs
- EmptyControlCollection.cs
- WindowsPen.cs
- ReadOnlyDictionary.cs
- CompilerGlobalScopeAttribute.cs
- FacetValues.cs
- PublishLicense.cs
- HtmlShimManager.cs
- EntityDataSourceStatementEditorForm.cs
- OleAutBinder.cs
- NullableDoubleAverageAggregationOperator.cs
- ZoneMembershipCondition.cs
- RankException.cs
- MouseOverProperty.cs
- SHA384.cs
- Speller.cs
- NameService.cs
- InternalControlCollection.cs
- TextSegment.cs
- HtmlWindow.cs
- controlskin.cs
- PackageDigitalSignature.cs
- CellParaClient.cs
- TextElementAutomationPeer.cs
- RepeaterItem.cs
- Int32RectValueSerializer.cs
- followingsibling.cs
- _Semaphore.cs
- DaylightTime.cs
- CommonRemoteMemoryBlock.cs
- EventProperty.cs
- TaskDesigner.cs
- MemberBinding.cs
- RouteParser.cs
- Version.cs
- KeyboardNavigation.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- Content.cs
- ConfigXmlElement.cs
- StackOverflowException.cs
- BoolExpressionVisitors.cs
- ToolStripContextMenu.cs
- XmlSerializerNamespaces.cs