Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / Configuration / HttpWebRequestElement.cs / 1305376 / 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
- SecurityMode.cs
- EventLogTraceListener.cs
- BreakRecordTable.cs
- ProxyWebPartConnectionCollection.cs
- RSAOAEPKeyExchangeFormatter.cs
- HttpListener.cs
- DESCryptoServiceProvider.cs
- FileSecurity.cs
- SizeLimitedCache.cs
- PageParser.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- EditCommandColumn.cs
- RtfToken.cs
- AppDomainCompilerProxy.cs
- newinstructionaction.cs
- SQLBytesStorage.cs
- HttpGetProtocolImporter.cs
- EncryptedReference.cs
- RefreshEventArgs.cs
- Authorization.cs
- Thumb.cs
- Quaternion.cs
- FontStyleConverter.cs
- ADRoleFactory.cs
- WriteLineDesigner.xaml.cs
- JsonReaderDelegator.cs
- ControlPaint.cs
- HttpCapabilitiesSectionHandler.cs
- StorageEntityTypeMapping.cs
- EntityTypeEmitter.cs
- NetCodeGroup.cs
- WindowInteropHelper.cs
- _TLSstream.cs
- TypedAsyncResult.cs
- CellParaClient.cs
- RequestSecurityToken.cs
- Function.cs
- Size3D.cs
- SoapMessage.cs
- TableItemStyle.cs
- ChangeBlockUndoRecord.cs
- EmbossBitmapEffect.cs
- FtpWebRequest.cs
- PeerService.cs
- EnumBuilder.cs
- HScrollBar.cs
- XmlNotation.cs
- TraceAsyncResult.cs
- TargetException.cs
- SQLDateTimeStorage.cs
- XmlFormatMapping.cs
- ModelServiceImpl.cs
- SymbolMethod.cs
- JsonUriDataContract.cs
- BaseValidator.cs
- ListItemCollection.cs
- SocketCache.cs
- DataTablePropertyDescriptor.cs
- DecoderReplacementFallback.cs
- StylusPointCollection.cs
- DataSourceGroupCollection.cs
- WindowsTokenRoleProvider.cs
- BamlStream.cs
- ClientTargetSection.cs
- PatternMatchRules.cs
- ControlIdConverter.cs
- SubMenuStyle.cs
- DataControlCommands.cs
- DataColumnMappingCollection.cs
- XmlDocumentFragment.cs
- MetadataSource.cs
- NavigationPropertyEmitter.cs
- ObjectHelper.cs
- SqlDataSourceQueryConverter.cs
- RequestTimeoutManager.cs
- KnownTypesProvider.cs
- ColorConvertedBitmapExtension.cs
- Token.cs
- HttpListenerContext.cs
- Clause.cs
- SchemaNamespaceManager.cs
- DataServiceContext.cs
- EpmAttributeNameBuilder.cs
- SqlMultiplexer.cs
- ToolStripItemImageRenderEventArgs.cs
- SecurityAlgorithmSuite.cs
- SafeNativeMethodsCLR.cs
- CodeNamespace.cs
- WindowsStatusBar.cs
- AdRotator.cs
- Utils.cs
- AnnotationResourceChangedEventArgs.cs
- SafeReversePInvokeHandle.cs
- Crc32.cs
- ConfigXmlSignificantWhitespace.cs
- _BufferOffsetSize.cs
- TabletDevice.cs
- FlowLayoutPanel.cs
- HtmlInputCheckBox.cs
- UIHelper.cs