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
- XmlSchema.cs
- SqlStream.cs
- NotConverter.cs
- FormatConvertedBitmap.cs
- DataGridColumnHeaderItemAutomationPeer.cs
- IODescriptionAttribute.cs
- RawMouseInputReport.cs
- ConditionalAttribute.cs
- MarkupExtensionReturnTypeAttribute.cs
- SystemIcmpV4Statistics.cs
- WebPartTracker.cs
- PropertyItem.cs
- SkipQueryOptionExpression.cs
- ColorConvertedBitmap.cs
- GlyphManager.cs
- Axis.cs
- ElementsClipboardData.cs
- ArrangedElement.cs
- SigningProgress.cs
- HandlerFactoryWrapper.cs
- Utils.cs
- TrackingRecordPreFilter.cs
- CodeCommentStatementCollection.cs
- GroupItem.cs
- TextBoxBase.cs
- Underline.cs
- TemplateControlCodeDomTreeGenerator.cs
- SchemaTypeEmitter.cs
- SuppressIldasmAttribute.cs
- EmptyReadOnlyDictionaryInternal.cs
- FlowPosition.cs
- ConfigurationStrings.cs
- TextBox.cs
- GeometryHitTestParameters.cs
- ThemeConfigurationDialog.cs
- WebPartConnectionsCancelVerb.cs
- CodeDOMUtility.cs
- BuildProviderCollection.cs
- TransactionsSectionGroup.cs
- RangeValidator.cs
- DependencyObjectValidator.cs
- ProfileSettings.cs
- NullableDoubleAverageAggregationOperator.cs
- ReadOnlyDictionary.cs
- CounterCreationData.cs
- DocumentAutomationPeer.cs
- TableItemProviderWrapper.cs
- Int16.cs
- LowerCaseStringConverter.cs
- SqlDataRecord.cs
- WebResponse.cs
- CatalogZoneBase.cs
- ContextMenuService.cs
- DynamicValueConverter.cs
- AppDomainFactory.cs
- SqlServer2KCompatibilityAnnotation.cs
- DataList.cs
- StickyNoteAnnotations.cs
- InternalBase.cs
- StrongNameKeyPair.cs
- StorageMappingItemLoader.cs
- TransportManager.cs
- SoapFormatter.cs
- WmlPanelAdapter.cs
- PrivilegeNotHeldException.cs
- DataSourceHelper.cs
- ArgumentValidation.cs
- FixedSOMPageConstructor.cs
- Margins.cs
- DataSet.cs
- PowerStatus.cs
- ConnectionConsumerAttribute.cs
- WebScriptEnablingElement.cs
- ObjectHelper.cs
- ObjectQuery_EntitySqlExtensions.cs
- FloatMinMaxAggregationOperator.cs
- CodeExpressionCollection.cs
- TypeCodeDomSerializer.cs
- TypeNameConverter.cs
- DesignerAutoFormatStyle.cs
- RouteData.cs
- FacetDescription.cs
- ExecutedRoutedEventArgs.cs
- MessageAction.cs
- SHA512.cs
- SplitterCancelEvent.cs
- DataGridViewCheckBoxColumn.cs
- PowerStatus.cs
- HeaderedContentControl.cs
- Panel.cs
- DummyDataSource.cs
- VectorValueSerializer.cs
- SequentialOutput.cs
- ConfigsHelper.cs
- ValueProviderWrapper.cs
- ClientEndpointLoader.cs
- BindStream.cs
- ToolStripContainer.cs
- PopupControlService.cs
- EpmSyndicationContentSerializer.cs