Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Registry.cs
- SqlFactory.cs
- SmtpFailedRecipientException.cs
- HttpCacheVary.cs
- ControlPersister.cs
- NamedPipeAppDomainProtocolHandler.cs
- ReadWriteSpinLock.cs
- Resources.Designer.cs
- Compiler.cs
- JoinSymbol.cs
- GridViewCancelEditEventArgs.cs
- XamlFilter.cs
- ScrollBar.cs
- ValidatorUtils.cs
- DesignerActionPanel.cs
- CodeExpressionCollection.cs
- PrintDocument.cs
- SqlWriter.cs
- CryptoKeySecurity.cs
- _ListenerAsyncResult.cs
- AppSettingsExpressionBuilder.cs
- ObjectViewFactory.cs
- TextBoxAutomationPeer.cs
- GridPattern.cs
- CompiledAction.cs
- PropertyCollection.cs
- PermissionRequestEvidence.cs
- DelegatedStream.cs
- DataKeyCollection.cs
- SingleStorage.cs
- Style.cs
- WsatTransactionFormatter.cs
- StatusBarItem.cs
- HandlerWithFactory.cs
- Evaluator.cs
- SystemException.cs
- AdRotatorDesigner.cs
- PropertyEmitter.cs
- EventSourceCreationData.cs
- CrossContextChannel.cs
- TrackingConditionCollection.cs
- AccessibilityApplicationManager.cs
- ModelItemKeyValuePair.cs
- AuthenticationModulesSection.cs
- DescendentsWalker.cs
- DataServiceKeyAttribute.cs
- CssTextWriter.cs
- ProxyWebPartManager.cs
- WindowsSolidBrush.cs
- Quaternion.cs
- HandlerFactoryWrapper.cs
- HttpModuleAction.cs
- PenLineJoinValidation.cs
- WeakHashtable.cs
- RayMeshGeometry3DHitTestResult.cs
- DateTimePicker.cs
- ComponentEditorForm.cs
- _ListenerRequestStream.cs
- XmlNamedNodeMap.cs
- EntityStoreSchemaFilterEntry.cs
- FormClosedEvent.cs
- CngUIPolicy.cs
- SamlDoNotCacheCondition.cs
- SafeEventLogWriteHandle.cs
- WaitHandle.cs
- _ConnectOverlappedAsyncResult.cs
- CacheMemory.cs
- FlowPosition.cs
- CacheOutputQuery.cs
- DrawingAttributes.cs
- DesignTimeParseData.cs
- AnnotationDocumentPaginator.cs
- DocumentOrderComparer.cs
- UriTemplateDispatchFormatter.cs
- InkCollectionBehavior.cs
- XmlCDATASection.cs
- Transform3DGroup.cs
- ContractMethodParameterInfo.cs
- ImportOptions.cs
- GridItemCollection.cs
- CanonicalXml.cs
- XmlNode.cs
- BitArray.cs
- ResponseBodyWriter.cs
- control.ime.cs
- X509Chain.cs
- ToggleProviderWrapper.cs
- UniqueConstraint.cs
- CellConstant.cs
- Repeater.cs
- MergeLocalizationDirectives.cs
- FixedSOMLineRanges.cs
- InvokeHandlers.cs
- StreamGeometry.cs
- HandleCollector.cs
- EmptyControlCollection.cs
- _emptywebproxy.cs
- GridViewColumnHeaderAutomationPeer.cs
- StringCollection.cs
- ToolStripManager.cs