Code:
/ DotNET / DotNET / 8.0 / untmp / Orcas / RTM / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LiteralControl.cs
- BaseCollection.cs
- ServiceAuthorizationManager.cs
- TreeNode.cs
- DbConnectionInternal.cs
- SystemDropShadowChrome.cs
- HwndMouseInputProvider.cs
- ConsumerConnectionPoint.cs
- MultiBinding.cs
- CharEntityEncoderFallback.cs
- ProfileParameter.cs
- FixedSOMLineCollection.cs
- SapiRecognizer.cs
- WebServiceBindingAttribute.cs
- COM2ExtendedTypeConverter.cs
- SelectManyQueryOperator.cs
- dataSvcMapFileLoader.cs
- DataRowComparer.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- PipeStream.cs
- XmlParserContext.cs
- ObsoleteAttribute.cs
- LocalFileSettingsProvider.cs
- KeyPullup.cs
- EntityContainerAssociationSet.cs
- CollectionChangeEventArgs.cs
- HttpModuleCollection.cs
- PowerStatus.cs
- SplineKeyFrames.cs
- UrlAuthorizationModule.cs
- PropertyTabAttribute.cs
- serverconfig.cs
- DataMemberAttribute.cs
- TableLayoutPanel.cs
- SmtpException.cs
- TreeNode.cs
- ProgressBarAutomationPeer.cs
- DeleteCardRequest.cs
- QilGeneratorEnv.cs
- SiteMapSection.cs
- ObjectDataSourceWizardForm.cs
- XamlBrushSerializer.cs
- DelegateSerializationHolder.cs
- DbException.cs
- Wizard.cs
- ResourceDisplayNameAttribute.cs
- DocumentCollection.cs
- BindableTemplateBuilder.cs
- EntityDesignerUtils.cs
- SafeBitVector32.cs
- UnauthorizedAccessException.cs
- FileSystemWatcher.cs
- WorkerRequest.cs
- Automation.cs
- HttpContextWrapper.cs
- InputLanguageCollection.cs
- PersonalizationAdministration.cs
- WindowsListViewSubItem.cs
- XmlTextEncoder.cs
- peernodeimplementation.cs
- WorkflowMarkupSerializationException.cs
- VisualTreeUtils.cs
- AudioBase.cs
- ObjectReaderCompiler.cs
- Util.cs
- InputLangChangeRequestEvent.cs
- ApplicationProxyInternal.cs
- SessionPageStatePersister.cs
- DataGridRowEventArgs.cs
- PageThemeBuildProvider.cs
- DefaultSection.cs
- ResourceBinder.cs
- DynamicValueConverter.cs
- TextBlockAutomationPeer.cs
- webeventbuffer.cs
- TextLineBreak.cs
- WebPartCatalogCloseVerb.cs
- BaseTreeIterator.cs
- ReadingWritingEntityEventArgs.cs
- SpellCheck.cs
- MasterPage.cs
- ReachNamespaceInfo.cs
- TrackingParticipant.cs
- RoleService.cs
- GZipStream.cs
- XPathItem.cs
- SqlCacheDependencyDatabaseCollection.cs
- XmlAttributeAttribute.cs
- StorageMappingFragment.cs
- Base64Decoder.cs
- WebResourceAttribute.cs
- ListChangedEventArgs.cs
- SafeSystemMetrics.cs
- ComboBoxRenderer.cs
- BinaryWriter.cs
- BufferedGraphicsManager.cs
- TemplateControl.cs
- DecimalStorage.cs
- ObjectAssociationEndMapping.cs
- PrinterResolution.cs