Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- JsonUriDataContract.cs
- InterleavedZipPartStream.cs
- ScopelessEnumAttribute.cs
- HandlerMappingMemo.cs
- HtmlImageAdapter.cs
- DragEventArgs.cs
- EtwTrace.cs
- DbParameterCollection.cs
- DataKey.cs
- HMACSHA384.cs
- DataSet.cs
- WaitHandle.cs
- Soap12ProtocolImporter.cs
- VisualTarget.cs
- Visual3DCollection.cs
- TabRenderer.cs
- XmlEncodedRawTextWriter.cs
- MarkerProperties.cs
- PenThreadWorker.cs
- KnownTypes.cs
- ViewGenerator.cs
- _ProxyChain.cs
- ProfileService.cs
- CompModSwitches.cs
- StrokeSerializer.cs
- SharedConnectionWorkflowTransactionService.cs
- XamlNamespaceHelper.cs
- ClickablePoint.cs
- ClientSideProviderDescription.cs
- DeleteWorkflowOwnerCommand.cs
- ResourceWriter.cs
- ContentElement.cs
- ToolStripSeparatorRenderEventArgs.cs
- PageContent.cs
- OracleConnectionStringBuilder.cs
- WebPartDisplayModeCancelEventArgs.cs
- _SslState.cs
- FieldToken.cs
- MsmqInputMessage.cs
- Rect3DConverter.cs
- TreeNodeEventArgs.cs
- CompatibleIComparer.cs
- Predicate.cs
- ParameterBinding.cs
- SwitchLevelAttribute.cs
- SqlParameterCollection.cs
- ElementHost.cs
- DataColumn.cs
- PointF.cs
- LockedActivityGlyph.cs
- WebPartActionVerb.cs
- CardSpacePolicyElement.cs
- FileIOPermission.cs
- NopReturnReader.cs
- ControlIdConverter.cs
- EntityDataSourceReferenceGroup.cs
- QilCloneVisitor.cs
- CoreSwitches.cs
- FixedPageProcessor.cs
- DebugView.cs
- DataConnectionHelper.cs
- HttpHandlersSection.cs
- Primitive.cs
- TraceHandler.cs
- CompiledQuery.cs
- CommandExpr.cs
- SR.Designer.cs
- MobileDeviceCapabilitiesSectionHandler.cs
- Rectangle.cs
- DependencyPropertyDescriptor.cs
- ProxyWebPart.cs
- _NtlmClient.cs
- DoubleIndependentAnimationStorage.cs
- ByteAnimation.cs
- Geometry3D.cs
- Grid.cs
- AutoScrollExpandMessageFilter.cs
- PageParserFilter.cs
- CodeTypeMember.cs
- DateTimeConstantAttribute.cs
- GZipUtils.cs
- VersionValidator.cs
- WorkflowInstanceAbortedRecord.cs
- DbConnectionHelper.cs
- EmptyWithCancelationCheckWorkItem.cs
- FileSystemWatcher.cs
- WorkflowPageSetupDialog.cs
- AttributeSetAction.cs
- IDReferencePropertyAttribute.cs
- BuildManagerHost.cs
- TraceSwitch.cs
- TextSelection.cs
- Helper.cs
- xmlsaver.cs
- ListBase.cs
- EncodingNLS.cs
- DispatcherExceptionFilterEventArgs.cs
- RowsCopiedEventArgs.cs
- FolderBrowserDialog.cs
- RemoteWebConfigurationHost.cs