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
- CqlParser.cs
- PtsPage.cs
- ExpressionHelper.cs
- MulticastOption.cs
- ScriptMethodAttribute.cs
- DoubleAnimationUsingPath.cs
- IUnknownConstantAttribute.cs
- CellIdBoolean.cs
- WebPartEditVerb.cs
- PrintingPermission.cs
- _LoggingObject.cs
- InstanceCollisionException.cs
- COM2PropertyDescriptor.cs
- ValidatedControlConverter.cs
- FontUnitConverter.cs
- DefaultTraceListener.cs
- FactoryMaker.cs
- DesignerRegionMouseEventArgs.cs
- ProfileEventArgs.cs
- EntityWithKeyStrategy.cs
- CatalogZone.cs
- DocumentSequence.cs
- AsymmetricAlgorithm.cs
- InkPresenterAutomationPeer.cs
- BitmapEffectrendercontext.cs
- IdentityNotMappedException.cs
- XPathAncestorIterator.cs
- FontFaceLayoutInfo.cs
- Semaphore.cs
- CookielessData.cs
- BitVector32.cs
- TypeTypeConverter.cs
- WebCategoryAttribute.cs
- ProcessInputEventArgs.cs
- DataRecord.cs
- Section.cs
- ConsoleKeyInfo.cs
- XmlDownloadManager.cs
- QueryException.cs
- EncryptedType.cs
- securitycriticaldataformultiplegetandset.cs
- FloaterBaseParagraph.cs
- HotSpotCollection.cs
- __Error.cs
- StructuralObject.cs
- Claim.cs
- ProgressBarHighlightConverter.cs
- CodeMemberMethod.cs
- CommandEventArgs.cs
- FlowDocumentReader.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- CookieHandler.cs
- ManipulationInertiaStartingEventArgs.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- DtdParser.cs
- PackageController.cs
- OutputBuffer.cs
- PanelStyle.cs
- XmlReflectionImporter.cs
- SrgsElement.cs
- SyncOperationState.cs
- ClientSideQueueItem.cs
- MailHeaderInfo.cs
- SQLResource.cs
- LocatorManager.cs
- SqlServices.cs
- TimeSpanMinutesConverter.cs
- XmlCompatibilityReader.cs
- DataKeyArray.cs
- Compress.cs
- PlaceHolder.cs
- FontCacheUtil.cs
- ModuleBuilderData.cs
- ValueTypePropertyReference.cs
- ProtocolViolationException.cs
- ReadOnlyDataSourceView.cs
- ExitEventArgs.cs
- Application.cs
- MulticastNotSupportedException.cs
- ContentValidator.cs
- ExclusiveTcpTransportManager.cs
- TextChange.cs
- NameValueFileSectionHandler.cs
- ParserOptions.cs
- PropertyGeneratedEventArgs.cs
- GB18030Encoding.cs
- WinHttpWebProxyFinder.cs
- ContainerFilterService.cs
- FrameworkElement.cs
- WebScriptMetadataInstanceContextProvider.cs
- RepeaterItem.cs
- ScrollBarAutomationPeer.cs
- JsonXmlDataContract.cs
- NTAccount.cs
- MetabaseServerConfig.cs
- WebPartVerbsEventArgs.cs
- FastPropertyAccessor.cs
- Comparer.cs
- ComplexBindingPropertiesAttribute.cs
- FieldNameLookup.cs