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
- AdCreatedEventArgs.cs
- CommonDialog.cs
- StrokeFIndices.cs
- RadioButton.cs
- TCPClient.cs
- SmiConnection.cs
- OrthographicCamera.cs
- StreamResourceInfo.cs
- IdentityHolder.cs
- EventRouteFactory.cs
- TreeNodeConverter.cs
- SoapRpcMethodAttribute.cs
- ItemType.cs
- SignedXml.cs
- IdentityHolder.cs
- FontSource.cs
- WebPartEditorOkVerb.cs
- ValidationSummaryDesigner.cs
- Win32.cs
- ExpressionList.cs
- RadioButton.cs
- DataObject.cs
- Vector3DConverter.cs
- UseAttributeSetsAction.cs
- CodeTypeOfExpression.cs
- RenamedEventArgs.cs
- SettingsPropertyNotFoundException.cs
- ClientTargetCollection.cs
- DesignerActionPanel.cs
- UpdateExpressionVisitor.cs
- CodeExpressionCollection.cs
- SqlError.cs
- TreeViewImageKeyConverter.cs
- TerminateWorkflow.cs
- ErrorWebPart.cs
- Faults.cs
- StyleBamlRecordReader.cs
- AppDomainProtocolHandler.cs
- CompilerError.cs
- LoadedOrUnloadedOperation.cs
- LinearKeyFrames.cs
- XmlSchemaSimpleContentRestriction.cs
- ConstraintConverter.cs
- VisualProxy.cs
- XPathScanner.cs
- X509RawDataKeyIdentifierClause.cs
- _NestedSingleAsyncResult.cs
- PathSegmentCollection.cs
- CommonGetThemePartSize.cs
- DataKey.cs
- DataGridTextBoxColumn.cs
- _SpnDictionary.cs
- ThrowHelper.cs
- NumericUpDownAccelerationCollection.cs
- ProxyWebPartManager.cs
- Rotation3DAnimationUsingKeyFrames.cs
- LinkAreaEditor.cs
- webbrowsersite.cs
- StringHelper.cs
- SafeNativeMethodsCLR.cs
- CounterCreationDataCollection.cs
- FragmentNavigationEventArgs.cs
- SqlRewriteScalarSubqueries.cs
- DataQuery.cs
- CustomAssemblyResolver.cs
- controlskin.cs
- BulletChrome.cs
- Hex.cs
- IteratorDescriptor.cs
- UnsafeNativeMethods.cs
- InvalidEnumArgumentException.cs
- JsonByteArrayDataContract.cs
- DependencyObjectProvider.cs
- InternalUserCancelledException.cs
- DesignerTransactionCloseEvent.cs
- DeviceContext2.cs
- DashStyle.cs
- DataControlButton.cs
- LayoutEngine.cs
- Geometry.cs
- HttpApplicationFactory.cs
- DataGridViewCellStyleChangedEventArgs.cs
- ICollection.cs
- sortedlist.cs
- MailMessageEventArgs.cs
- ClientEventManager.cs
- WizardStepBase.cs
- LoginUtil.cs
- AuthenticationServiceManager.cs
- sitestring.cs
- Zone.cs
- ExpressionPrefixAttribute.cs
- DataTableClearEvent.cs
- CssClassPropertyAttribute.cs
- KeyTimeConverter.cs
- SystemInfo.cs
- StaticTextPointer.cs
- WebPartDisplayModeCollection.cs
- UInt16Storage.cs
- GlyphInfoList.cs