Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- BrowserCapabilitiesCompiler.cs
- LineServicesRun.cs
- CreateParams.cs
- SqlCacheDependencySection.cs
- SqlDependencyListener.cs
- ListViewPagedDataSource.cs
- InputGestureCollection.cs
- InvalidWMPVersionException.cs
- SmtpCommands.cs
- PreviewPrintController.cs
- Util.cs
- AQNBuilder.cs
- SmiTypedGetterSetter.cs
- SettingsPropertyIsReadOnlyException.cs
- SqlGenericUtil.cs
- CodeConstructor.cs
- SQLCharsStorage.cs
- SafeRightsManagementQueryHandle.cs
- SizeChangedEventArgs.cs
- WinFormsSecurity.cs
- SafeSecurityHandles.cs
- DiscardableAttribute.cs
- ErrorRuntimeConfig.cs
- TextEffect.cs
- ClientTargetSection.cs
- RadialGradientBrush.cs
- DbgCompiler.cs
- Stylus.cs
- DesignerRegionCollection.cs
- XmlSchemaAnnotated.cs
- XmlCharType.cs
- TextEndOfLine.cs
- PropertyPathWorker.cs
- HitTestFilterBehavior.cs
- RulePatternOps.cs
- MenuItemBinding.cs
- ProfileParameter.cs
- ArrangedElement.cs
- ListViewCommandEventArgs.cs
- SplitterPanel.cs
- TextRangeBase.cs
- FieldToken.cs
- Dictionary.cs
- MinimizableAttributeTypeConverter.cs
- GeneralTransform3D.cs
- EntityRecordInfo.cs
- TaiwanLunisolarCalendar.cs
- XhtmlBasicSelectionListAdapter.cs
- TextTreeObjectNode.cs
- WmlPageAdapter.cs
- GPPOINT.cs
- StylusButton.cs
- _SslSessionsCache.cs
- FrameSecurityDescriptor.cs
- TextTreeUndo.cs
- WebPartTransformer.cs
- BaseHashHelper.cs
- TabRenderer.cs
- HtmlTableRowCollection.cs
- ResXFileRef.cs
- ExpressionPrefixAttribute.cs
- EmptyControlCollection.cs
- Transform.cs
- ClientBuildManagerCallback.cs
- EventLogPermission.cs
- EntityKey.cs
- OverflowException.cs
- ArrayElementGridEntry.cs
- ElementHost.cs
- HorizontalAlignConverter.cs
- AssertSection.cs
- Point4DConverter.cs
- DBPropSet.cs
- CodeObjectCreateExpression.cs
- CommandValueSerializer.cs
- TextTreeUndoUnit.cs
- PresentationAppDomainManager.cs
- DesignerValidationSummaryAdapter.cs
- WebEventCodes.cs
- SafeProcessHandle.cs
- AssociationSetMetadata.cs
- UdpTransportBindingElement.cs
- BaseCodeDomTreeGenerator.cs
- MessageBox.cs
- WebPartAuthorizationEventArgs.cs
- MemberListBinding.cs
- PeerContact.cs
- ImportContext.cs
- VectorValueSerializer.cs
- JsonCollectionDataContract.cs
- TextFindEngine.cs
- CheckBoxList.cs
- XmlWellformedWriter.cs
- DBCommand.cs
- CodeLabeledStatement.cs
- WmlValidationSummaryAdapter.cs
- HostingEnvironmentException.cs
- AnimatedTypeHelpers.cs
- XmlSchemaSimpleTypeList.cs
- TdsParameterSetter.cs