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
- KerberosTicketHashIdentifierClause.cs
- BitmapSourceSafeMILHandle.cs
- WebPartConnectionsEventArgs.cs
- FlowLayoutPanel.cs
- AnnotationAdorner.cs
- ScrollViewer.cs
- Msmq3PoisonHandler.cs
- QueryCacheManager.cs
- StringFormat.cs
- DesignerTransaction.cs
- TripleDES.cs
- PageTheme.cs
- KeyPressEvent.cs
- FileSecurity.cs
- TreeNodeBindingCollection.cs
- BinaryReader.cs
- SamlAssertion.cs
- ApplicationSecurityInfo.cs
- InputMethodStateTypeInfo.cs
- ByteStorage.cs
- CornerRadius.cs
- ChannelServices.cs
- ResourceCodeDomSerializer.cs
- BindingFormattingDialog.cs
- TypographyProperties.cs
- OptimisticConcurrencyException.cs
- GACMembershipCondition.cs
- QuaternionKeyFrameCollection.cs
- JavaScriptSerializer.cs
- ConfigXmlAttribute.cs
- InstanceHandle.cs
- StringConverter.cs
- EqualityArray.cs
- FormsAuthenticationUserCollection.cs
- XamlTreeBuilderBamlRecordWriter.cs
- Char.cs
- SqlBooleanMismatchVisitor.cs
- BrowsableAttribute.cs
- Point3D.cs
- ExtendedProperty.cs
- VirtualPath.cs
- SimpleMailWebEventProvider.cs
- QuerySelectOp.cs
- WebPartCatalogCloseVerb.cs
- processwaithandle.cs
- TcpHostedTransportConfiguration.cs
- DivideByZeroException.cs
- EraserBehavior.cs
- SelectedCellsCollection.cs
- DigestComparer.cs
- ProviderCommandInfoUtils.cs
- PixelFormats.cs
- VBIdentifierNameEditor.cs
- Graphics.cs
- XmlHelper.cs
- PropertyKey.cs
- EUCJPEncoding.cs
- ValueUnavailableException.cs
- ManagementOperationWatcher.cs
- SQlBooleanStorage.cs
- XmlIgnoreAttribute.cs
- EllipseGeometry.cs
- SafeTimerHandle.cs
- CompModSwitches.cs
- PropertyOrder.cs
- UIElementAutomationPeer.cs
- ContractSearchPattern.cs
- HttpSessionStateBase.cs
- DataControlFieldCollection.cs
- SqlDataSourceAdvancedOptionsForm.cs
- CodePageUtils.cs
- RadioButtonFlatAdapter.cs
- HtmlInputSubmit.cs
- SamlAction.cs
- ModulesEntry.cs
- FileLogRecordEnumerator.cs
- BaseResourcesBuildProvider.cs
- GeometryModel3D.cs
- FilteredAttributeCollection.cs
- XhtmlTextWriter.cs
- SmuggledIUnknown.cs
- StreamReader.cs
- SqlFactory.cs
- DbXmlEnabledProviderManifest.cs
- PrinterResolution.cs
- DelayedRegex.cs
- ValidationErrorCollection.cs
- OperationAbortedException.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- FamilyCollection.cs
- DesignerTextBoxAdapter.cs
- Semaphore.cs
- SecurityRuntime.cs
- PageThemeBuildProvider.cs
- regiisutil.cs
- SimpleHandlerBuildProvider.cs
- DataGridHeaderBorder.cs
- QuestionEventArgs.cs
- RepeaterCommandEventArgs.cs
- IncrementalHitTester.cs