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
- HashHelper.cs
- BamlReader.cs
- arc.cs
- Ppl.cs
- RuntimeConfigLKG.cs
- SeekStoryboard.cs
- TileModeValidation.cs
- DiscardableAttribute.cs
- TransactionInformation.cs
- WebPartDisplayModeEventArgs.cs
- TablePattern.cs
- Rule.cs
- SoapWriter.cs
- CallbackValidator.cs
- ToolStripScrollButton.cs
- BinaryConverter.cs
- StorageComplexTypeMapping.cs
- PeerResolver.cs
- RadioButtonBaseAdapter.cs
- WebEvents.cs
- ExpressionEvaluator.cs
- SAPICategories.cs
- XsltSettings.cs
- TableStyle.cs
- ToolStripComboBox.cs
- DataMisalignedException.cs
- ArgumentOutOfRangeException.cs
- IndicShape.cs
- ScrollEvent.cs
- MailAddressCollection.cs
- MessageQueuePermissionEntry.cs
- MultiByteCodec.cs
- CompositeControlDesigner.cs
- ModifierKeysValueSerializer.cs
- TextDecoration.cs
- WebServiceFaultDesigner.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- ToolStripItemClickedEventArgs.cs
- FieldBuilder.cs
- RotateTransform3D.cs
- QueryExpression.cs
- Single.cs
- MappingItemCollection.cs
- CalloutQueueItem.cs
- SetIterators.cs
- HighlightComponent.cs
- MatrixAnimationUsingPath.cs
- RectAnimationUsingKeyFrames.cs
- ConnectionPoolManager.cs
- HtmlShimManager.cs
- SafeRightsManagementSessionHandle.cs
- BackgroundWorker.cs
- PolygonHotSpot.cs
- EntityDataSourceMemberPath.cs
- Transactions.cs
- Vector3D.cs
- ZipIOModeEnforcingStream.cs
- LogSwitch.cs
- PointAnimationUsingPath.cs
- SignatureToken.cs
- EmptyQuery.cs
- TextAnchor.cs
- WebPartDesigner.cs
- DbProviderFactory.cs
- ReadOnlyDataSourceView.cs
- XmlCustomFormatter.cs
- MappingModelBuildProvider.cs
- AnimatedTypeHelpers.cs
- Point.cs
- ComponentChangingEvent.cs
- JapaneseLunisolarCalendar.cs
- DoubleIndependentAnimationStorage.cs
- DataRecord.cs
- IsolatedStorage.cs
- EntityViewGenerationAttribute.cs
- RegistrySecurity.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- FontFamilyConverter.cs
- PnrpPeerResolver.cs
- SynchronizationContext.cs
- FormsAuthentication.cs
- ZipPackagePart.cs
- mansign.cs
- Claim.cs
- Literal.cs
- OleStrCAMarshaler.cs
- RawStylusSystemGestureInputReport.cs
- FontFamilyIdentifier.cs
- ReadOnlyHierarchicalDataSourceView.cs
- PeerNameResolver.cs
- ColorTranslator.cs
- PkcsMisc.cs
- UnsafeNativeMethodsTablet.cs
- MediaPlayerState.cs
- LogFlushAsyncResult.cs
- XmlBoundElement.cs
- ELinqQueryState.cs
- GridViewEditEventArgs.cs
- DataControlFieldCollection.cs
- ImageKeyConverter.cs