Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- GPPOINT.cs
- CounterSampleCalculator.cs
- ADMembershipProvider.cs
- RawAppCommandInputReport.cs
- ArithmeticException.cs
- ImageSourceConverter.cs
- FragmentQuery.cs
- OptimalTextSource.cs
- SqlXmlStorage.cs
- RemoteCryptoDecryptRequest.cs
- Pair.cs
- StoreItemCollection.cs
- sqlcontext.cs
- EntitySetBase.cs
- ParameterBuilder.cs
- DataRecordObjectView.cs
- BounceEase.cs
- ProgressBarBrushConverter.cs
- ParserHooks.cs
- Error.cs
- ValidatorCollection.cs
- TextSerializer.cs
- InvokeMethodActivityDesigner.cs
- CryptoHelper.cs
- StreamingContext.cs
- AudioStateChangedEventArgs.cs
- _CookieModule.cs
- FileLevelControlBuilderAttribute.cs
- ClientType.cs
- LabelEditEvent.cs
- FormsAuthenticationTicket.cs
- COMException.cs
- ModelItemDictionary.cs
- EntityViewGenerator.cs
- DropDownList.cs
- UIPermission.cs
- BypassElementCollection.cs
- AlignmentXValidation.cs
- EventHandlerList.cs
- PerfCounters.cs
- PlanCompilerUtil.cs
- TableDetailsCollection.cs
- SchemaContext.cs
- SiteMapPath.cs
- ChildrenQuery.cs
- WorkflowInstance.cs
- CodeRemoveEventStatement.cs
- ParseNumbers.cs
- WorkflowQueue.cs
- DateRangeEvent.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- SmtpFailedRecipientsException.cs
- HostedElements.cs
- LambdaReference.cs
- DrawingContext.cs
- RegexRunner.cs
- safesecurityhelperavalon.cs
- RoleManagerSection.cs
- MemoryMappedViewStream.cs
- RegexCompiler.cs
- DataContext.cs
- NavigationWindowAutomationPeer.cs
- HeaderedItemsControl.cs
- DataServiceExpressionVisitor.cs
- MethodBody.cs
- GetParentChain.cs
- MemberHolder.cs
- XPathNavigatorKeyComparer.cs
- XmlObjectSerializerReadContext.cs
- CommandBindingCollection.cs
- SmtpNtlmAuthenticationModule.cs
- UnicastIPAddressInformationCollection.cs
- Axis.cs
- TextRunProperties.cs
- AnnotationAdorner.cs
- MetaType.cs
- FullTextBreakpoint.cs
- WsdlInspector.cs
- RtfToken.cs
- WebPartVerbCollection.cs
- JournalEntry.cs
- DataSourceXmlTextReader.cs
- MappingModelBuildProvider.cs
- ToolStripDropDownItemDesigner.cs
- NameValueFileSectionHandler.cs
- recordstatescratchpad.cs
- CommandHelper.cs
- XmlWriterDelegator.cs
- DependencyObject.cs
- SqlDataSourceStatusEventArgs.cs
- XamlFigureLengthSerializer.cs
- ParameterToken.cs
- EmptyEnumerator.cs
- FileClassifier.cs
- XmlSchemaInferenceException.cs
- OptimizedTemplateContent.cs
- QilPatternFactory.cs
- Composition.cs
- CodeDelegateCreateExpression.cs
- ScrollBar.cs