Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / xsp / System / Web / Extensions / Configuration / ScriptingJsonSerializationSection.cs / 1 / ScriptingJsonSerializationSection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System; using System.Configuration; using System.Security.Permissions; using System.Web; using System.Web.Configuration; using System.Web.Script.Serialization; [AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] 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.Security.Permissions; using System.Web; using System.Web.Configuration; using System.Web.Script.Serialization; [AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] 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
- Label.cs
- BufferedStream.cs
- DataGridParentRows.cs
- NativeMethods.cs
- HttpConfigurationSystem.cs
- ExpressionWriter.cs
- HwndSourceParameters.cs
- ActivityDesignerHighlighter.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- ColorPalette.cs
- XmlValidatingReaderImpl.cs
- ThreadPoolTaskScheduler.cs
- XmlQueryTypeFactory.cs
- TemplateInstanceAttribute.cs
- PointValueSerializer.cs
- EpmContentDeSerializer.cs
- IntSecurity.cs
- DictionaryChange.cs
- HttpCookie.cs
- SapiAttributeParser.cs
- TreeNodeCollection.cs
- CompositionAdorner.cs
- TextUtf8RawTextWriter.cs
- SetMemberBinder.cs
- MatrixKeyFrameCollection.cs
- SymDocumentType.cs
- TagElement.cs
- BinaryReader.cs
- DataGridViewSelectedCellCollection.cs
- PublisherMembershipCondition.cs
- DnsPermission.cs
- CustomErrorsSectionWrapper.cs
- _emptywebproxy.cs
- CodeSnippetExpression.cs
- OperationResponse.cs
- TreeViewEvent.cs
- OdbcReferenceCollection.cs
- NumberFunctions.cs
- WebContext.cs
- EntityCommandExecutionException.cs
- ErrorFormatterPage.cs
- Completion.cs
- BrowserInteropHelper.cs
- GPRECT.cs
- ChangeNode.cs
- SchemaInfo.cs
- RootProfilePropertySettingsCollection.cs
- RowTypePropertyElement.cs
- UriExt.cs
- TokenizerHelper.cs
- ValueUnavailableException.cs
- SecurityPolicySection.cs
- RequestQueryParser.cs
- LinqDataSourceSelectEventArgs.cs
- ImageButton.cs
- PropertyGridView.cs
- DataRelationPropertyDescriptor.cs
- MeasureData.cs
- PrintDocument.cs
- ResourceAttributes.cs
- XmlElement.cs
- SymbolMethod.cs
- NullableDecimalAverageAggregationOperator.cs
- NavigationCommands.cs
- DBCommandBuilder.cs
- SQLInt16Storage.cs
- ImageField.cs
- HtmlInputText.cs
- ResourceDisplayNameAttribute.cs
- PersistChildrenAttribute.cs
- TemplateBuilder.cs
- Cell.cs
- TrackingStringDictionary.cs
- ProfileSettings.cs
- KnownTypeAttribute.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- TextBlockAutomationPeer.cs
- MenuItemStyleCollection.cs
- RecognizedPhrase.cs
- KeyEvent.cs
- ISO2022Encoding.cs
- HitTestFilterBehavior.cs
- Converter.cs
- ActiveXHost.cs
- OleDbCommand.cs
- lengthconverter.cs
- errorpatternmatcher.cs
- InputMethodStateTypeInfo.cs
- propertytag.cs
- DataKey.cs
- XmlBinaryReader.cs
- RelationshipFixer.cs
- ContentValidator.cs
- RewritingValidator.cs
- DataPointer.cs
- DCSafeHandle.cs
- ConfigXmlSignificantWhitespace.cs
- AcceleratedTokenAuthenticator.cs
- HttpListenerResponse.cs
- MediaElement.cs