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 / WebRequestModulesSection.cs / 1 / WebRequestModulesSection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net.Configuration { using System.Configuration; using System.Collections; using System.Globalization; using System.Net; using System.Reflection; using System.Threading; public sealed class WebRequestModulesSection : ConfigurationSection { public WebRequestModulesSection() { this.properties.Add(this.webRequestModules); } 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; try { ExceptionHelper.WebPermissionUnrestricted.Demand(); } catch (Exception exception) { throw new ConfigurationErrorsException( SR.GetString(SR.net_config_section_permission, ConfigurationStrings.WebRequestModulesSectionName), exception); } } protected override void InitializeDefault() { this.WebRequestModules.Add( new WebRequestModuleElement(ConfigurationStrings.Https, typeof(HttpRequestCreator))); this.WebRequestModules.Add( new WebRequestModuleElement(ConfigurationStrings.Http, typeof(HttpRequestCreator))); this.WebRequestModules.Add( new WebRequestModuleElement(ConfigurationStrings.File, typeof(FileWebRequestCreator))); this.WebRequestModules.Add( new WebRequestModuleElement(ConfigurationStrings.Ftp, typeof(FtpWebRequestCreator))); } protected override ConfigurationPropertyCollection Properties { get { return this.properties; } } [ConfigurationProperty("", IsDefaultCollection=true )] public WebRequestModuleElementCollection WebRequestModules { get { return (WebRequestModuleElementCollection)this[this.webRequestModules]; } } ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection(); readonly ConfigurationProperty webRequestModules = new ConfigurationProperty(null, typeof(WebRequestModuleElementCollection), null, ConfigurationPropertyOptions.IsDefaultCollection); } internal sealed class WebRequestModulesSectionInternal { internal WebRequestModulesSectionInternal(WebRequestModulesSection section) { if (section.WebRequestModules.Count > 0) { this.webRequestModules = new ArrayList(section.WebRequestModules.Count); foreach(WebRequestModuleElement webRequestModuleElement in section.WebRequestModules) { try { this.webRequestModules.Add(new WebRequestPrefixElement(webRequestModuleElement.Prefix, webRequestModuleElement.Type)); } catch (Exception exception) { if (NclUtilities.IsFatal(exception)) throw; throw new ConfigurationErrorsException(SR.GetString(SR.net_config_webrequestmodules), exception); } catch { // // throw exception for config debugging // throw new ConfigurationErrorsException(ConfigurationStrings.WebRequestModulesSectionPath, new Exception(SR.GetString(SR.net_nonClsCompliantException))); } } } } internal static object ClassSyncObject { get { if (classSyncObject == null) { object o = new object(); Interlocked.CompareExchange(ref classSyncObject, o, null); } return classSyncObject; } } static internal WebRequestModulesSectionInternal GetSection() { lock (WebRequestModulesSectionInternal.ClassSyncObject) { WebRequestModulesSection section = PrivilegedConfigurationManager.GetSection(ConfigurationStrings.WebRequestModulesSectionPath) as WebRequestModulesSection; if (section == null) return null; return new WebRequestModulesSectionInternal(section); } } internal ArrayList WebRequestModules { get { ArrayList retval = this.webRequestModules; if (retval == null) { retval = new ArrayList(0); } return retval; } } static object classSyncObject = null; ArrayList webRequestModules = null; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net.Configuration { using System.Configuration; using System.Collections; using System.Globalization; using System.Net; using System.Reflection; using System.Threading; public sealed class WebRequestModulesSection : ConfigurationSection { public WebRequestModulesSection() { this.properties.Add(this.webRequestModules); } 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; try { ExceptionHelper.WebPermissionUnrestricted.Demand(); } catch (Exception exception) { throw new ConfigurationErrorsException( SR.GetString(SR.net_config_section_permission, ConfigurationStrings.WebRequestModulesSectionName), exception); } } protected override void InitializeDefault() { this.WebRequestModules.Add( new WebRequestModuleElement(ConfigurationStrings.Https, typeof(HttpRequestCreator))); this.WebRequestModules.Add( new WebRequestModuleElement(ConfigurationStrings.Http, typeof(HttpRequestCreator))); this.WebRequestModules.Add( new WebRequestModuleElement(ConfigurationStrings.File, typeof(FileWebRequestCreator))); this.WebRequestModules.Add( new WebRequestModuleElement(ConfigurationStrings.Ftp, typeof(FtpWebRequestCreator))); } protected override ConfigurationPropertyCollection Properties { get { return this.properties; } } [ConfigurationProperty("", IsDefaultCollection=true )] public WebRequestModuleElementCollection WebRequestModules { get { return (WebRequestModuleElementCollection)this[this.webRequestModules]; } } ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection(); readonly ConfigurationProperty webRequestModules = new ConfigurationProperty(null, typeof(WebRequestModuleElementCollection), null, ConfigurationPropertyOptions.IsDefaultCollection); } internal sealed class WebRequestModulesSectionInternal { internal WebRequestModulesSectionInternal(WebRequestModulesSection section) { if (section.WebRequestModules.Count > 0) { this.webRequestModules = new ArrayList(section.WebRequestModules.Count); foreach(WebRequestModuleElement webRequestModuleElement in section.WebRequestModules) { try { this.webRequestModules.Add(new WebRequestPrefixElement(webRequestModuleElement.Prefix, webRequestModuleElement.Type)); } catch (Exception exception) { if (NclUtilities.IsFatal(exception)) throw; throw new ConfigurationErrorsException(SR.GetString(SR.net_config_webrequestmodules), exception); } catch { // // throw exception for config debugging // throw new ConfigurationErrorsException(ConfigurationStrings.WebRequestModulesSectionPath, new Exception(SR.GetString(SR.net_nonClsCompliantException))); } } } } internal static object ClassSyncObject { get { if (classSyncObject == null) { object o = new object(); Interlocked.CompareExchange(ref classSyncObject, o, null); } return classSyncObject; } } static internal WebRequestModulesSectionInternal GetSection() { lock (WebRequestModulesSectionInternal.ClassSyncObject) { WebRequestModulesSection section = PrivilegedConfigurationManager.GetSection(ConfigurationStrings.WebRequestModulesSectionPath) as WebRequestModulesSection; if (section == null) return null; return new WebRequestModulesSectionInternal(section); } } internal ArrayList WebRequestModules { get { ArrayList retval = this.webRequestModules; if (retval == null) { retval = new ArrayList(0); } return retval; } } static object classSyncObject = null; ArrayList webRequestModules = null; } } // 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
- Int16Converter.cs
- TextTreeUndo.cs
- DbMetaDataFactory.cs
- PermissionSetEnumerator.cs
- Win32.cs
- LinkLabelLinkClickedEvent.cs
- XmlSchemaNotation.cs
- wgx_render.cs
- ChtmlTextWriter.cs
- CompoundFileIOPermission.cs
- MainMenu.cs
- QuotedPrintableStream.cs
- SQLMembershipProvider.cs
- ToolStripPanelDesigner.cs
- tooltip.cs
- SessionStateUtil.cs
- Property.cs
- PeerFlooder.cs
- SqlConnectionPoolGroupProviderInfo.cs
- ToolStripSplitButton.cs
- WebPartDescriptionCollection.cs
- ExeConfigurationFileMap.cs
- RuleInfoComparer.cs
- GroupItemAutomationPeer.cs
- XmlDataDocument.cs
- ListItemConverter.cs
- ObjectKeyFrameCollection.cs
- Rfc2898DeriveBytes.cs
- SamlAttribute.cs
- PageTheme.cs
- formatter.cs
- XmlResolver.cs
- AppSecurityManager.cs
- ExpressionBuilder.cs
- VerificationAttribute.cs
- UInt16Storage.cs
- Matrix.cs
- InstanceKeyCollisionException.cs
- ToolStripRendererSwitcher.cs
- NonParentingControl.cs
- ConfigXmlDocument.cs
- SqlPersonalizationProvider.cs
- PolyQuadraticBezierSegment.cs
- RadioButtonFlatAdapter.cs
- TTSEngineTypes.cs
- RouteValueExpressionBuilder.cs
- SQLDouble.cs
- DesignerAutoFormatStyle.cs
- URL.cs
- DataGridViewUtilities.cs
- TextParagraph.cs
- Label.cs
- OdbcCommand.cs
- UIPropertyMetadata.cs
- entityreference_tresulttype.cs
- VerificationAttribute.cs
- HttpListenerException.cs
- ITextView.cs
- SoapIncludeAttribute.cs
- TabItemAutomationPeer.cs
- InfoCardBaseException.cs
- SpeechSynthesizer.cs
- InheritablePropertyChangeInfo.cs
- WebPartConnectionsConfigureVerb.cs
- ColumnWidthChangedEvent.cs
- RunClient.cs
- SafeLibraryHandle.cs
- WaitForChangedResult.cs
- WizardStepBase.cs
- HtmlMobileTextWriter.cs
- MethodImplAttribute.cs
- ApplicationId.cs
- ActivityWithResultConverter.cs
- ToolboxService.cs
- IdentityHolder.cs
- AppModelKnownContentFactory.cs
- ItemPager.cs
- PlatformNotSupportedException.cs
- WriterOutput.cs
- UnsafeNativeMethods.cs
- QueryPageSettingsEventArgs.cs
- ListCollectionView.cs
- OrderByQueryOptionExpression.cs
- ClusterRegistryConfigurationProvider.cs
- VirtualPathUtility.cs
- PtsHost.cs
- ParserExtension.cs
- TextEffect.cs
- DataGridLinkButton.cs
- SlotInfo.cs
- RichTextBox.cs
- DispatcherEventArgs.cs
- InheritanceService.cs
- XmlSchemaException.cs
- DataTableNewRowEvent.cs
- CorrelationActionMessageFilter.cs
- DataSetViewSchema.cs
- QueryStringParameter.cs
- TextServicesManager.cs
- SortQuery.cs