Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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);
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HScrollProperties.cs
- Verify.cs
- ComponentEditorPage.cs
- Literal.cs
- MultiTouchSystemGestureLogic.cs
- ExpressionPrinter.cs
- DateTimeFormat.cs
- PeerCollaborationPermission.cs
- Timer.cs
- TableRowCollection.cs
- ClientApiGenerator.cs
- TripleDES.cs
- StyleSheetComponentEditor.cs
- ExpressionLexer.cs
- securitycriticaldataformultiplegetandset.cs
- SQLMembershipProvider.cs
- PointCollectionValueSerializer.cs
- EntityConnectionStringBuilder.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- RequestResponse.cs
- SizeConverter.cs
- EventProxy.cs
- KeyValuePair.cs
- RelationshipDetailsRow.cs
- _NestedMultipleAsyncResult.cs
- EdgeProfileValidation.cs
- SurrogateDataContract.cs
- ComplexTypeEmitter.cs
- XmlAttributes.cs
- Listen.cs
- SystemWebExtensionsSectionGroup.cs
- HeaderedContentControl.cs
- ConditionBrowserDialog.cs
- TerminatorSinks.cs
- Array.cs
- PreloadedPackages.cs
- JoinElimination.cs
- TypeElement.cs
- SoapSchemaImporter.cs
- HttpRuntimeSection.cs
- VideoDrawing.cs
- ListViewSortEventArgs.cs
- ScopelessEnumAttribute.cs
- SingleTagSectionHandler.cs
- ArgumentValueSerializer.cs
- ActionFrame.cs
- ThrowOnMultipleAssignment.cs
- ObjectAnimationBase.cs
- GridItem.cs
- UnmanagedHandle.cs
- AsymmetricAlgorithm.cs
- CacheRequest.cs
- MetadataUtilsSmi.cs
- followingquery.cs
- TrimSurroundingWhitespaceAttribute.cs
- CodeTypeReferenceCollection.cs
- ExpressionParser.cs
- PackageFilter.cs
- ExpressionNormalizer.cs
- CalculatedColumn.cs
- NativeMethods.cs
- ConfigPathUtility.cs
- Renderer.cs
- TextRunCache.cs
- NameValueFileSectionHandler.cs
- ScalarConstant.cs
- CustomSignedXml.cs
- ElementProxy.cs
- SwitchAttribute.cs
- TextWriter.cs
- XmlSerializationReader.cs
- DispatcherProcessingDisabled.cs
- FlowDocumentReaderAutomationPeer.cs
- XsdBuildProvider.cs
- VirtualPath.cs
- EncryptedKey.cs
- MessageQueueCriteria.cs
- ColumnResult.cs
- EventLogEntryCollection.cs
- EntityCommandDefinition.cs
- JsonDeserializer.cs
- ChangesetResponse.cs
- AdapterUtil.cs
- ProcessHostMapPath.cs
- BrowserCapabilitiesCodeGenerator.cs
- TemplatedMailWebEventProvider.cs
- XmlAttributeCache.cs
- Path.cs
- Literal.cs
- Classification.cs
- ArgumentValueSerializer.cs
- AmbientProperties.cs
- Selector.cs
- FileStream.cs
- QilChoice.cs
- PropertyBuilder.cs
- XmlMembersMapping.cs
- CollectionChangedEventManager.cs
- DateTimePickerDesigner.cs
- TypeElement.cs