Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Net / System / Net / Configuration / HttpWebRequestElement.cs / 1 / HttpWebRequestElement.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Net.Configuration
{
using System;
using System.Configuration;
using System.Reflection;
using System.Security.Permissions;
public sealed class HttpWebRequestElement : ConfigurationElement
{
public HttpWebRequestElement()
{
this.properties.Add(this.maximumResponseHeadersLength);
this.properties.Add(this.maximumErrorResponseLength);
this.properties.Add(this.maximumUnauthorizedUploadLength);
this.properties.Add(this.useUnsafeHeaderParsing);
}
protected override void PostDeserialize()
{
// Perf optimization. If the configuration is coming from machine.config
// It is safe and we don't need to check for permissions.
if (EvaluationContext.IsMachineLevel)
return;
PropertyInformation[] protectedProperties = {
ElementInformation.Properties[ConfigurationStrings.MaximumResponseHeadersLength],
ElementInformation.Properties[ConfigurationStrings.MaximumErrorResponseLength]
};
foreach (PropertyInformation property in protectedProperties)
if (property.ValueOrigin == PropertyValueOrigin.SetHere)
{
try {
ExceptionHelper.WebPermissionUnrestricted.Demand();
} catch (Exception exception) {
throw new ConfigurationErrorsException(
SR.GetString(SR.net_config_property_permission,
property.Name),
exception);
}
}
}
protected override ConfigurationPropertyCollection Properties
{
get
{
return this.properties;
}
}
[ConfigurationProperty(ConfigurationStrings.maximumUnauthorizedUploadLength, DefaultValue=(int)(-1))]
public int MaximumUnauthorizedUploadLength
{
get { return (int)this[this.maximumUnauthorizedUploadLength]; }
set { this[this.maximumUnauthorizedUploadLength] = value; }
}
[ConfigurationProperty(ConfigurationStrings.MaximumErrorResponseLength, DefaultValue=(int)(64))]
public int MaximumErrorResponseLength
{
get { return (int)this[this.maximumErrorResponseLength]; }
set { this[this.maximumErrorResponseLength] = value; }
}
[ConfigurationProperty(ConfigurationStrings.MaximumResponseHeadersLength, DefaultValue= 64)]
public int MaximumResponseHeadersLength
{
get { return (int)this[this.maximumResponseHeadersLength]; }
set { this[this.maximumResponseHeadersLength] = value; }
}
[ConfigurationProperty(ConfigurationStrings.UseUnsafeHeaderParsing, DefaultValue= false)]
public bool UseUnsafeHeaderParsing
{
get { return (bool) this[this.useUnsafeHeaderParsing]; }
set { this[this.useUnsafeHeaderParsing] = value; }
}
ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection();
readonly ConfigurationProperty maximumResponseHeadersLength =
new ConfigurationProperty(ConfigurationStrings.MaximumResponseHeadersLength,
typeof(int),
64,
ConfigurationPropertyOptions.None);
readonly ConfigurationProperty maximumErrorResponseLength =
new ConfigurationProperty(ConfigurationStrings.MaximumErrorResponseLength,
typeof(int),
64,
ConfigurationPropertyOptions.None);
readonly ConfigurationProperty maximumUnauthorizedUploadLength =
new ConfigurationProperty(ConfigurationStrings.maximumUnauthorizedUploadLength,
typeof(int),
-1,
ConfigurationPropertyOptions.None);
readonly ConfigurationProperty useUnsafeHeaderParsing =
new ConfigurationProperty(ConfigurationStrings.UseUnsafeHeaderParsing,
typeof(bool),
false,
ConfigurationPropertyOptions.None);
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Net.Configuration
{
using System;
using System.Configuration;
using System.Reflection;
using System.Security.Permissions;
public sealed class HttpWebRequestElement : ConfigurationElement
{
public HttpWebRequestElement()
{
this.properties.Add(this.maximumResponseHeadersLength);
this.properties.Add(this.maximumErrorResponseLength);
this.properties.Add(this.maximumUnauthorizedUploadLength);
this.properties.Add(this.useUnsafeHeaderParsing);
}
protected override void PostDeserialize()
{
// Perf optimization. If the configuration is coming from machine.config
// It is safe and we don't need to check for permissions.
if (EvaluationContext.IsMachineLevel)
return;
PropertyInformation[] protectedProperties = {
ElementInformation.Properties[ConfigurationStrings.MaximumResponseHeadersLength],
ElementInformation.Properties[ConfigurationStrings.MaximumErrorResponseLength]
};
foreach (PropertyInformation property in protectedProperties)
if (property.ValueOrigin == PropertyValueOrigin.SetHere)
{
try {
ExceptionHelper.WebPermissionUnrestricted.Demand();
} catch (Exception exception) {
throw new ConfigurationErrorsException(
SR.GetString(SR.net_config_property_permission,
property.Name),
exception);
}
}
}
protected override ConfigurationPropertyCollection Properties
{
get
{
return this.properties;
}
}
[ConfigurationProperty(ConfigurationStrings.maximumUnauthorizedUploadLength, DefaultValue=(int)(-1))]
public int MaximumUnauthorizedUploadLength
{
get { return (int)this[this.maximumUnauthorizedUploadLength]; }
set { this[this.maximumUnauthorizedUploadLength] = value; }
}
[ConfigurationProperty(ConfigurationStrings.MaximumErrorResponseLength, DefaultValue=(int)(64))]
public int MaximumErrorResponseLength
{
get { return (int)this[this.maximumErrorResponseLength]; }
set { this[this.maximumErrorResponseLength] = value; }
}
[ConfigurationProperty(ConfigurationStrings.MaximumResponseHeadersLength, DefaultValue= 64)]
public int MaximumResponseHeadersLength
{
get { return (int)this[this.maximumResponseHeadersLength]; }
set { this[this.maximumResponseHeadersLength] = value; }
}
[ConfigurationProperty(ConfigurationStrings.UseUnsafeHeaderParsing, DefaultValue= false)]
public bool UseUnsafeHeaderParsing
{
get { return (bool) this[this.useUnsafeHeaderParsing]; }
set { this[this.useUnsafeHeaderParsing] = value; }
}
ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection();
readonly ConfigurationProperty maximumResponseHeadersLength =
new ConfigurationProperty(ConfigurationStrings.MaximumResponseHeadersLength,
typeof(int),
64,
ConfigurationPropertyOptions.None);
readonly ConfigurationProperty maximumErrorResponseLength =
new ConfigurationProperty(ConfigurationStrings.MaximumErrorResponseLength,
typeof(int),
64,
ConfigurationPropertyOptions.None);
readonly ConfigurationProperty maximumUnauthorizedUploadLength =
new ConfigurationProperty(ConfigurationStrings.maximumUnauthorizedUploadLength,
typeof(int),
-1,
ConfigurationPropertyOptions.None);
readonly ConfigurationProperty useUnsafeHeaderParsing =
new ConfigurationProperty(ConfigurationStrings.UseUnsafeHeaderParsing,
typeof(bool),
false,
ConfigurationPropertyOptions.None);
}
}
// 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
- ThreadPool.cs
- COM2TypeInfoProcessor.cs
- ValueChangedEventManager.cs
- TextBoxBase.cs
- SqlDependencyListener.cs
- EncodingTable.cs
- UnsafeNetInfoNativeMethods.cs
- XmlAttribute.cs
- validation.cs
- HTMLTextWriter.cs
- SystemInfo.cs
- NavigationHelper.cs
- NotImplementedException.cs
- PersonalizationEntry.cs
- RegexRunner.cs
- ButtonDesigner.cs
- _UriSyntax.cs
- ResourcesBuildProvider.cs
- DateTimeUtil.cs
- HyperlinkAutomationPeer.cs
- datacache.cs
- SerializationStore.cs
- DataTableTypeConverter.cs
- BamlRecordWriter.cs
- SqlWebEventProvider.cs
- SQLDecimal.cs
- LinqDataSourceSelectEventArgs.cs
- UriSection.cs
- AlignmentXValidation.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- ArrayEditor.cs
- PlacementWorkspace.cs
- EdmProperty.cs
- XPathDescendantIterator.cs
- ADMembershipProvider.cs
- RadioButtonList.cs
- CapabilitiesRule.cs
- ConfigurationLockCollection.cs
- TextElementCollectionHelper.cs
- returneventsaver.cs
- DataGridColumnDropSeparator.cs
- IUnknownConstantAttribute.cs
- EventMap.cs
- Item.cs
- GlyphTypeface.cs
- pingexception.cs
- ReflectionTypeLoadException.cs
- DataGridViewAutoSizeModeEventArgs.cs
- UmAlQuraCalendar.cs
- ChangeBlockUndoRecord.cs
- WebExceptionStatus.cs
- PackWebRequestFactory.cs
- SystemWebSectionGroup.cs
- FontStyles.cs
- MemoryFailPoint.cs
- MessageQueuePermissionEntryCollection.cs
- CreateUserWizardStep.cs
- CustomCredentialPolicy.cs
- BaseTemplateParser.cs
- OutputWindow.cs
- DataContractSerializerSection.cs
- securitymgrsite.cs
- CaseCqlBlock.cs
- ResXDataNode.cs
- DocumentReference.cs
- XmlElementAttribute.cs
- ContextBase.cs
- DockAndAnchorLayout.cs
- JsonWriter.cs
- SettingsSection.cs
- MatrixAnimationUsingKeyFrames.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- SafeSerializationManager.cs
- ConfigurationException.cs
- Stopwatch.cs
- filewebresponse.cs
- _ListenerResponseStream.cs
- FilteredSchemaElementLookUpTable.cs
- GridItemPattern.cs
- CodeExporter.cs
- TypeBuilderInstantiation.cs
- SafeSecurityHandles.cs
- XmlAggregates.cs
- SortAction.cs
- SystemIcons.cs
- ManagementObject.cs
- FixedPageProcessor.cs
- ZoomPercentageConverter.cs
- SecurityState.cs
- TargetControlTypeAttribute.cs
- ExtensionElement.cs
- IntSecurity.cs
- QueryInterceptorAttribute.cs
- WpfPayload.cs
- GradientSpreadMethodValidation.cs
- PropertyChangedEventManager.cs
- RouteItem.cs
- ToolStripSplitButton.cs
- StrokeIntersection.cs
- HostingPreferredMapPath.cs