Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / Configuration / ProtocolsSection.cs / 3 / ProtocolsSection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- // namespace System.Web.Configuration { using System; using System.Xml; using System.Configuration; using System.Web.Configuration; using System.Collections.Specialized; using System.Collections; using System.IO; using System.Text; using System.Globalization; using System.Web.Hosting; using System.Web.Util; using System.Security.Permissions; [AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] public sealed class ProtocolsSection : ConfigurationSection { private static readonly ConfigurationPropertyCollection _properties; #region Property Declarations private static readonly ConfigurationProperty _propProtocols = new ConfigurationProperty(null, typeof(ProtocolCollection), null, ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsDefaultCollection); #endregion static ProtocolsSection() { // Property initialization _properties = new ConfigurationPropertyCollection(); _properties.Add(_propProtocols); } public ProtocolsSection() { } protected override ConfigurationPropertyCollection Properties { get { return _properties; } } [ConfigurationProperty("protocols", IsRequired = true, IsDefaultCollection = true)] public ProtocolCollection Protocols { get { return (ProtocolCollection)base[_propProtocols]; } } } [ConfigurationCollection(typeof(ProtocolElement))] [AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] public sealed class ProtocolCollection : ConfigurationElementCollection { private static readonly ConfigurationPropertyCollection _properties; static ProtocolCollection() { _properties = new ConfigurationPropertyCollection(); } public ProtocolCollection() { } protected override ConfigurationPropertyCollection Properties { get { return _properties; } } public string[] AllKeys { get { return (string[])BaseGetAllKeys(); } } public void Add( ProtocolElement protocolElement ) { BaseAdd( protocolElement ); } public void Remove( string name ) { BaseRemove( name ); } public void Remove( ProtocolElement protocolElement ) { BaseRemove( GetElementKey( protocolElement ) ); } public void RemoveAt( int index ) { BaseRemoveAt( index ); } public new ProtocolElement this[ string name ] { get { return (ProtocolElement)BaseGet( name ); } } public ProtocolElement this[ int index ] { get { return (ProtocolElement)BaseGet( index ); } set { if ( BaseGet( index ) != null) { BaseRemoveAt( index ); } BaseAdd( index, value ); } } public void Clear() { BaseClear(); } protected override ConfigurationElement CreateNewElement() { return new ProtocolElement(); } protected override Object GetElementKey( ConfigurationElement element ) { string name = ((ProtocolElement)element).Name; if ( string.IsNullOrEmpty( name ) ) { throw new ArgumentException( SR.GetString(SR.Config_collection_add_element_without_key) ); } return name; } } [AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] public sealed class ProtocolElement : ConfigurationElement { private static readonly ConfigurationPropertyCollection _properties; #region Property Declarations private static readonly ConfigurationProperty _propName = new ConfigurationProperty( "name", typeof( string ), null, null, StdValidatorsAndConverters.NonEmptyStringValidator, ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey ); private static readonly ConfigurationProperty _propProcessHandlerType = new ConfigurationProperty( "processHandlerType", typeof( string ), null); private static readonly ConfigurationProperty _propAppDomainHandlerType = new ConfigurationProperty( "appDomainHandlerType", typeof( string ), null); private static readonly ConfigurationProperty _propValidate = new ConfigurationProperty( "validate", typeof( bool ), false); #endregion static ProtocolElement() { _properties = new ConfigurationPropertyCollection(); _properties.Add( _propName ); _properties.Add( _propProcessHandlerType ); _properties.Add( _propAppDomainHandlerType ); _properties.Add( _propValidate ); } public ProtocolElement( string name ) { if ( string.IsNullOrEmpty( name ) ) { throw ExceptionUtil.ParameterNullOrEmpty("name"); } base[ _propName ] = name; } public ProtocolElement() { } protected override ConfigurationPropertyCollection Properties { get { return _properties; } } [ConfigurationProperty("name", IsRequired = true, IsKey = true)] [StringValidator(MinLength = 1)] public string Name { get { return (string)base[ _propName ]; } set { base[ _propName ] = value; } } [ConfigurationProperty("processHandlerType")] public string ProcessHandlerType { get { return (string)base[ _propProcessHandlerType ]; } set { base[ _propProcessHandlerType ] = value; } } [ConfigurationProperty("appDomainHandlerType")] public string AppDomainHandlerType { get { return (string)base[ _propAppDomainHandlerType ]; } set { base[ _propAppDomainHandlerType ] = value; } } [ConfigurationProperty("validate", DefaultValue = false)] public bool Validate { get { return (bool)base[ _propValidate ]; } set { base[ _propValidate ] = value; } } private void ValidateTypes() { // check process protocol handler Type processHandlerType; try { processHandlerType = Type.GetType(ProcessHandlerType, true /*throwOnError*/); } catch (Exception e) { throw new ConfigurationErrorsException( e.Message, e, this.ElementInformation.Properties["ProcessHandlerType"].Source, this.ElementInformation.Properties["ProcessHandlerType"].LineNumber); } ConfigUtil.CheckAssignableType( typeof(ProcessProtocolHandler), processHandlerType, this, "ProcessHandlerType"); // check app domain protocol handler Type appDomainHandlerType; try { appDomainHandlerType = Type.GetType(AppDomainHandlerType, true /*throwOnError*/); } catch (Exception e) { throw new ConfigurationErrorsException( e.Message, e, this.ElementInformation.Properties["AppDomainHandlerType"].Source, this.ElementInformation.Properties["AppDomainHandlerType"].LineNumber); } ConfigUtil.CheckAssignableType( typeof(AppDomainProtocolHandler), appDomainHandlerType, this, "AppDomainHandlerType"); } protected override void PostDeserialize() { if (Validate) { ValidateTypes(); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- // namespace System.Web.Configuration { using System; using System.Xml; using System.Configuration; using System.Web.Configuration; using System.Collections.Specialized; using System.Collections; using System.IO; using System.Text; using System.Globalization; using System.Web.Hosting; using System.Web.Util; using System.Security.Permissions; [AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] public sealed class ProtocolsSection : ConfigurationSection { private static readonly ConfigurationPropertyCollection _properties; #region Property Declarations private static readonly ConfigurationProperty _propProtocols = new ConfigurationProperty(null, typeof(ProtocolCollection), null, ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsDefaultCollection); #endregion static ProtocolsSection() { // Property initialization _properties = new ConfigurationPropertyCollection(); _properties.Add(_propProtocols); } public ProtocolsSection() { } protected override ConfigurationPropertyCollection Properties { get { return _properties; } } [ConfigurationProperty("protocols", IsRequired = true, IsDefaultCollection = true)] public ProtocolCollection Protocols { get { return (ProtocolCollection)base[_propProtocols]; } } } [ConfigurationCollection(typeof(ProtocolElement))] [AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] public sealed class ProtocolCollection : ConfigurationElementCollection { private static readonly ConfigurationPropertyCollection _properties; static ProtocolCollection() { _properties = new ConfigurationPropertyCollection(); } public ProtocolCollection() { } protected override ConfigurationPropertyCollection Properties { get { return _properties; } } public string[] AllKeys { get { return (string[])BaseGetAllKeys(); } } public void Add( ProtocolElement protocolElement ) { BaseAdd( protocolElement ); } public void Remove( string name ) { BaseRemove( name ); } public void Remove( ProtocolElement protocolElement ) { BaseRemove( GetElementKey( protocolElement ) ); } public void RemoveAt( int index ) { BaseRemoveAt( index ); } public new ProtocolElement this[ string name ] { get { return (ProtocolElement)BaseGet( name ); } } public ProtocolElement this[ int index ] { get { return (ProtocolElement)BaseGet( index ); } set { if ( BaseGet( index ) != null) { BaseRemoveAt( index ); } BaseAdd( index, value ); } } public void Clear() { BaseClear(); } protected override ConfigurationElement CreateNewElement() { return new ProtocolElement(); } protected override Object GetElementKey( ConfigurationElement element ) { string name = ((ProtocolElement)element).Name; if ( string.IsNullOrEmpty( name ) ) { throw new ArgumentException( SR.GetString(SR.Config_collection_add_element_without_key) ); } return name; } } [AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] public sealed class ProtocolElement : ConfigurationElement { private static readonly ConfigurationPropertyCollection _properties; #region Property Declarations private static readonly ConfigurationProperty _propName = new ConfigurationProperty( "name", typeof( string ), null, null, StdValidatorsAndConverters.NonEmptyStringValidator, ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey ); private static readonly ConfigurationProperty _propProcessHandlerType = new ConfigurationProperty( "processHandlerType", typeof( string ), null); private static readonly ConfigurationProperty _propAppDomainHandlerType = new ConfigurationProperty( "appDomainHandlerType", typeof( string ), null); private static readonly ConfigurationProperty _propValidate = new ConfigurationProperty( "validate", typeof( bool ), false); #endregion static ProtocolElement() { _properties = new ConfigurationPropertyCollection(); _properties.Add( _propName ); _properties.Add( _propProcessHandlerType ); _properties.Add( _propAppDomainHandlerType ); _properties.Add( _propValidate ); } public ProtocolElement( string name ) { if ( string.IsNullOrEmpty( name ) ) { throw ExceptionUtil.ParameterNullOrEmpty("name"); } base[ _propName ] = name; } public ProtocolElement() { } protected override ConfigurationPropertyCollection Properties { get { return _properties; } } [ConfigurationProperty("name", IsRequired = true, IsKey = true)] [StringValidator(MinLength = 1)] public string Name { get { return (string)base[ _propName ]; } set { base[ _propName ] = value; } } [ConfigurationProperty("processHandlerType")] public string ProcessHandlerType { get { return (string)base[ _propProcessHandlerType ]; } set { base[ _propProcessHandlerType ] = value; } } [ConfigurationProperty("appDomainHandlerType")] public string AppDomainHandlerType { get { return (string)base[ _propAppDomainHandlerType ]; } set { base[ _propAppDomainHandlerType ] = value; } } [ConfigurationProperty("validate", DefaultValue = false)] public bool Validate { get { return (bool)base[ _propValidate ]; } set { base[ _propValidate ] = value; } } private void ValidateTypes() { // check process protocol handler Type processHandlerType; try { processHandlerType = Type.GetType(ProcessHandlerType, true /*throwOnError*/); } catch (Exception e) { throw new ConfigurationErrorsException( e.Message, e, this.ElementInformation.Properties["ProcessHandlerType"].Source, this.ElementInformation.Properties["ProcessHandlerType"].LineNumber); } ConfigUtil.CheckAssignableType( typeof(ProcessProtocolHandler), processHandlerType, this, "ProcessHandlerType"); // check app domain protocol handler Type appDomainHandlerType; try { appDomainHandlerType = Type.GetType(AppDomainHandlerType, true /*throwOnError*/); } catch (Exception e) { throw new ConfigurationErrorsException( e.Message, e, this.ElementInformation.Properties["AppDomainHandlerType"].Source, this.ElementInformation.Properties["AppDomainHandlerType"].LineNumber); } ConfigUtil.CheckAssignableType( typeof(AppDomainProtocolHandler), appDomainHandlerType, this, "AppDomainHandlerType"); } protected override void PostDeserialize() { if (Validate) { ValidateTypes(); } } } } // 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
- EmptyStringExpandableObjectConverter.cs
- StdValidatorsAndConverters.cs
- OracleParameter.cs
- MissingMethodException.cs
- IncrementalReadDecoders.cs
- ArgumentException.cs
- ItemsPresenter.cs
- EmbeddedMailObject.cs
- invalidudtexception.cs
- XhtmlTextWriter.cs
- DataGridColumn.cs
- HMACSHA256.cs
- XmlSchemaValidationException.cs
- Certificate.cs
- StackSpiller.Generated.cs
- EventLogPermissionAttribute.cs
- GeometryGroup.cs
- Utils.cs
- SQLByte.cs
- ListenerElementsCollection.cs
- RemotingException.cs
- WorkflowMessageEventArgs.cs
- FontFamilyValueSerializer.cs
- SByteConverter.cs
- storepermission.cs
- BulletedListEventArgs.cs
- TableCellCollection.cs
- InfoCardTrace.cs
- Panel.cs
- XmlStreamStore.cs
- WindowsIPAddress.cs
- RelationshipWrapper.cs
- ResourceManager.cs
- MdiWindowListStrip.cs
- SoapBinding.cs
- XmlDataSourceView.cs
- BoundPropertyEntry.cs
- MdiWindowListItemConverter.cs
- DetailsViewCommandEventArgs.cs
- SectionVisual.cs
- SqlProviderServices.cs
- CheckBox.cs
- SqlBulkCopyColumnMappingCollection.cs
- FamilyMapCollection.cs
- HeaderUtility.cs
- FileLevelControlBuilderAttribute.cs
- InstanceDataCollection.cs
- RotateTransform3D.cs
- ProfileParameter.cs
- CompiledQueryCacheEntry.cs
- ArgumentsParser.cs
- ObjectManager.cs
- MenuItem.cs
- DescendantQuery.cs
- UnsafeNetInfoNativeMethods.cs
- StrongTypingException.cs
- DynamicFilter.cs
- SafeSystemMetrics.cs
- EntityContainerRelationshipSet.cs
- Tokenizer.cs
- TextParagraph.cs
- ParentUndoUnit.cs
- OpenTypeCommon.cs
- _ConnectionGroup.cs
- SessionStateContainer.cs
- WebPartEditorApplyVerb.cs
- UserNameSecurityTokenAuthenticator.cs
- InfoCardMetadataExchangeClient.cs
- ZipIOModeEnforcingStream.cs
- ToolStripInSituService.cs
- TargetControlTypeAttribute.cs
- EpmContentSerializerBase.cs
- DependencyObjectValidator.cs
- BitFlagsGenerator.cs
- ReadOnlyTernaryTree.cs
- DataGridViewCellStyleEditor.cs
- AdapterUtil.cs
- StrongNameIdentityPermission.cs
- EventProviderTraceListener.cs
- PeerNameRegistration.cs
- XhtmlTextWriter.cs
- OdbcFactory.cs
- TextEditorSpelling.cs
- InkCanvasInnerCanvas.cs
- TypeForwardedToAttribute.cs
- GradientStopCollection.cs
- TextDecorationCollection.cs
- DataSourceDescriptorCollection.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- CurrentChangingEventManager.cs
- CodeDirectiveCollection.cs
- Button.cs
- PropertyDescriptorComparer.cs
- OdbcConnectionFactory.cs
- ListMarkerSourceInfo.cs
- CompilerCollection.cs
- QueryExecutionOption.cs
- UnsafeNetInfoNativeMethods.cs
- ValidationSummaryDesigner.cs
- TargetControlTypeAttribute.cs