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
- TaskFileService.cs
- DictionarySectionHandler.cs
- ObjectCacheSettings.cs
- MenuScrollingVisibilityConverter.cs
- DrawingState.cs
- CodeAttributeDeclarationCollection.cs
- ExpressionBindings.cs
- XmlStreamNodeWriter.cs
- UTF32Encoding.cs
- XmlUrlResolver.cs
- StorageFunctionMapping.cs
- SymLanguageVendor.cs
- CultureTable.cs
- XslVisitor.cs
- BuildManager.cs
- XmlElementAttribute.cs
- HandleCollector.cs
- LocalBuilder.cs
- Roles.cs
- ServiceNameElement.cs
- LicenseManager.cs
- AuthStoreRoleProvider.cs
- ISO2022Encoding.cs
- PersonalizationProviderHelper.cs
- DesignBindingValueUIHandler.cs
- HtmlTableCellCollection.cs
- DataGridColumnCollection.cs
- BrowserCapabilitiesCodeGenerator.cs
- UdpSocket.cs
- CacheEntry.cs
- Convert.cs
- TemplateXamlParser.cs
- GPRECTF.cs
- AsyncOperation.cs
- PageCatalogPartDesigner.cs
- XmlSchemaComplexContentRestriction.cs
- DateTimeConverter2.cs
- EncoderNLS.cs
- DataGridCell.cs
- WebPartManager.cs
- Rotation3DAnimationBase.cs
- TranslateTransform3D.cs
- WindowsToolbar.cs
- StringValidator.cs
- ModelService.cs
- RuleSetReference.cs
- KeyboardNavigation.cs
- HttpStreams.cs
- BamlTreeNode.cs
- HttpWebRequest.cs
- SQLSingle.cs
- RouteItem.cs
- DBParameter.cs
- Pair.cs
- ProviderCollection.cs
- TypedTableBaseExtensions.cs
- ImageMetadata.cs
- SQLStringStorage.cs
- ThrowHelper.cs
- SectionUpdates.cs
- MenuEventArgs.cs
- HandleTable.cs
- MessageEncoder.cs
- PersistenceIOParticipant.cs
- Polyline.cs
- NamespaceCollection.cs
- EntitySqlQueryCacheEntry.cs
- SaveFileDialog.cs
- ResourceReferenceKeyNotFoundException.cs
- ControlBuilderAttribute.cs
- LinqDataSourceSelectEventArgs.cs
- ListViewCancelEventArgs.cs
- TemplateField.cs
- HttpProfileBase.cs
- OdbcConnectionStringbuilder.cs
- EntityDataSourceStatementEditorForm.cs
- AutomationProperty.cs
- HtmlContainerControl.cs
- ImageListImageEditor.cs
- SelectedCellsCollection.cs
- ConstrainedDataObject.cs
- XmlReflectionImporter.cs
- UriSection.cs
- DataServiceHostFactory.cs
- SessionStateContainer.cs
- QueryCacheManager.cs
- ColumnMapCopier.cs
- RadioButtonList.cs
- QilCloneVisitor.cs
- RelationshipEnd.cs
- NumericUpDown.cs
- DbProviderFactories.cs
- KeySplineConverter.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- ArrayList.cs
- SR.cs
- UshortList2.cs
- SingleSelectRootGridEntry.cs
- ToolboxComponentsCreatedEventArgs.cs
- ValueTypeFieldReference.cs