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
- ScrollBarRenderer.cs
- _CommandStream.cs
- NativeMethodsCLR.cs
- FilterElement.cs
- CodeTypeMember.cs
- XmlSchemaException.cs
- XmlSerializationGeneratedCode.cs
- EmptyStringExpandableObjectConverter.cs
- ProtocolsSection.cs
- InstancePersistence.cs
- FamilyCollection.cs
- PathFigureCollection.cs
- SettingsPropertyValueCollection.cs
- DynamicObject.cs
- MessagePropertyVariants.cs
- DrawingDrawingContext.cs
- ResourceReferenceKeyNotFoundException.cs
- WebPartMenu.cs
- CodeVariableReferenceExpression.cs
- DocumentViewerBase.cs
- WebBrowserUriTypeConverter.cs
- InvalidPrinterException.cs
- InputBindingCollection.cs
- SingleAnimationBase.cs
- Point4DConverter.cs
- LineVisual.cs
- BamlLocalizabilityResolver.cs
- CalendarKeyboardHelper.cs
- DataTableMapping.cs
- ApplicationManager.cs
- Transactions.cs
- ClientSession.cs
- CursorConverter.cs
- DataColumn.cs
- AnnotationComponentChooser.cs
- DbReferenceCollection.cs
- DesignerDataSchemaClass.cs
- UriExt.cs
- TemplateApplicationHelper.cs
- ToggleButtonAutomationPeer.cs
- TextBox.cs
- HScrollProperties.cs
- PlaceHolder.cs
- filewebresponse.cs
- SoapExtensionReflector.cs
- QilGenerator.cs
- Claim.cs
- Configuration.cs
- CustomCredentialPolicy.cs
- CodeStatementCollection.cs
- EdmError.cs
- ButtonBase.cs
- SystemIPAddressInformation.cs
- ListCollectionView.cs
- OptionUsage.cs
- CodeSnippetTypeMember.cs
- Pkcs7Signer.cs
- Psha1DerivedKeyGeneratorHelper.cs
- GenericArgumentsUpdater.cs
- EntityDataSourceViewSchema.cs
- SoapReflector.cs
- LabelLiteral.cs
- AutomationEvent.cs
- HtmlInputCheckBox.cs
- DataTableNameHandler.cs
- ImageMapEventArgs.cs
- ADMembershipUser.cs
- TypeTypeConverter.cs
- AdapterSwitches.cs
- PagePropertiesChangingEventArgs.cs
- SignedXml.cs
- DataControlFieldCollection.cs
- Debug.cs
- InterleavedZipPartStream.cs
- CodeDomConfigurationHandler.cs
- PropertyGridEditorPart.cs
- Brush.cs
- IconBitmapDecoder.cs
- Token.cs
- SmtpMail.cs
- ConfigsHelper.cs
- ProjectionRewriter.cs
- Rect3DValueSerializer.cs
- TraceContextEventArgs.cs
- WorkflowQueueInfo.cs
- NameValueConfigurationCollection.cs
- SplitContainer.cs
- _Semaphore.cs
- XmlSubtreeReader.cs
- AmbientLight.cs
- MouseWheelEventArgs.cs
- ClientOptions.cs
- TableCellCollection.cs
- XslTransform.cs
- ListViewAutomationPeer.cs
- BaseDataBoundControl.cs
- X509WindowsSecurityToken.cs
- ConstraintManager.cs
- StorageAssociationTypeMapping.cs
- Point3DConverter.cs