Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / Configuration / ProtocolsConfiguration.cs / 4 / ProtocolsConfiguration.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System.IO; using System.Runtime.Serialization.Formatters; using System.Threading; using System.Runtime.InteropServices; using System.ComponentModel; using System.Collections; using System.Configuration; using System.Reflection; using System.Globalization; using System.Web.Hosting; using System.Web.Security; using System.Web.Util; using System.Xml; internal class ProtocolsConfiguration { private Hashtable _protocolEntries = new Hashtable(); internal ProtocolsConfiguration(XmlNode section) { // process XML section in order and apply the directives HandlerBase.CheckForUnrecognizedAttributes(section); foreach (XmlNode child in section.ChildNodes) { // skip whitespace and comments if (IsIgnorableAlsoCheckForNonElement(child)) continue; // processelements if (child.Name == "add") { String id = HandlerBase.RemoveRequiredAttribute(child, "id"); String phType = HandlerBase.RemoveRequiredAttribute(child, "processHandlerType"); String ahType = HandlerBase.RemoveRequiredAttribute(child, "appDomainHandlerType"); bool validate = true; HandlerBase.GetAndRemoveBooleanAttribute(child, "validate", ref validate); HandlerBase.CheckForUnrecognizedAttributes(child); HandlerBase.CheckForNonCommentChildNodes(child); // check duplicate Id /* TEMPORARY allow duplicates for easy Indigo machine.config update if (_protocolEntries[id] != null) { throw new ConfigurationErrorsException( SR.GetString(SR.Dup_protocol_id, id), child); } */ // add entry /* TEMPORARY hide errors and ignore bad tags to let breaking changes through */ try { _protocolEntries[id] = new ProtocolsConfigurationEntry( id, phType, ahType, validate, ConfigurationErrorsException.GetFilename(child), ConfigurationErrorsException.GetLineNumber(child)); } catch { } } else { HandlerBase.ThrowUnrecognizedElement(child); } } } private bool IsIgnorableAlsoCheckForNonElement(XmlNode node) { if (node.NodeType == XmlNodeType.Comment || node.NodeType == XmlNodeType.Whitespace) { return true; } if (node.NodeType != XmlNodeType.Element) { throw new ConfigurationErrorsException( SR.GetString(SR.Config_base_elements_only), node); } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System.IO; using System.Runtime.Serialization.Formatters; using System.Threading; using System.Runtime.InteropServices; using System.ComponentModel; using System.Collections; using System.Configuration; using System.Reflection; using System.Globalization; using System.Web.Hosting; using System.Web.Security; using System.Web.Util; using System.Xml; internal class ProtocolsConfiguration { private Hashtable _protocolEntries = new Hashtable(); internal ProtocolsConfiguration(XmlNode section) { // process XML section in order and apply the directives HandlerBase.CheckForUnrecognizedAttributes(section); foreach (XmlNode child in section.ChildNodes) { // skip whitespace and comments if (IsIgnorableAlsoCheckForNonElement(child)) continue; // processelements if (child.Name == "add") { String id = HandlerBase.RemoveRequiredAttribute(child, "id"); String phType = HandlerBase.RemoveRequiredAttribute(child, "processHandlerType"); String ahType = HandlerBase.RemoveRequiredAttribute(child, "appDomainHandlerType"); bool validate = true; HandlerBase.GetAndRemoveBooleanAttribute(child, "validate", ref validate); HandlerBase.CheckForUnrecognizedAttributes(child); HandlerBase.CheckForNonCommentChildNodes(child); // check duplicate Id /* TEMPORARY allow duplicates for easy Indigo machine.config update if (_protocolEntries[id] != null) { throw new ConfigurationErrorsException( SR.GetString(SR.Dup_protocol_id, id), child); } */ // add entry /* TEMPORARY hide errors and ignore bad tags to let breaking changes through */ try { _protocolEntries[id] = new ProtocolsConfigurationEntry( id, phType, ahType, validate, ConfigurationErrorsException.GetFilename(child), ConfigurationErrorsException.GetLineNumber(child)); } catch { } } else { HandlerBase.ThrowUnrecognizedElement(child); } } } private bool IsIgnorableAlsoCheckForNonElement(XmlNode node) { if (node.NodeType == XmlNodeType.Comment || node.NodeType == XmlNodeType.Whitespace) { return true; } if (node.NodeType != XmlNodeType.Element) { throw new ConfigurationErrorsException( SR.GetString(SR.Config_base_elements_only), node); } return false; } } } // 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
- DebuggerAttributes.cs
- SharedTcpTransportManager.cs
- Decimal.cs
- VirtualizedItemPattern.cs
- MetadataArtifactLoaderFile.cs
- WindowsToolbarItemAsMenuItem.cs
- CaseInsensitiveOrdinalStringComparer.cs
- DataGridViewRowHeaderCell.cs
- IIS7UserPrincipal.cs
- ComPlusAuthorization.cs
- SQLInt64.cs
- ComponentDesigner.cs
- DetailsViewInsertEventArgs.cs
- HttpResponseWrapper.cs
- SemanticResultValue.cs
- EdmEntityTypeAttribute.cs
- ConditionalExpression.cs
- SecurityState.cs
- addressfiltermode.cs
- ScriptingJsonSerializationSection.cs
- OdbcConnection.cs
- SettingsPropertyNotFoundException.cs
- CodeRegionDirective.cs
- ProcessHost.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- NetworkAddressChange.cs
- XsltContext.cs
- path.cs
- WSDualHttpBinding.cs
- DbCommandTree.cs
- DbSourceCommand.cs
- ObjectDataSourceWizardForm.cs
- ControllableStoryboardAction.cs
- GlyphTypeface.cs
- AsyncContentLoadedEventArgs.cs
- DelegatedStream.cs
- RsaKeyIdentifierClause.cs
- SQLResource.cs
- DesignConnection.cs
- IMembershipProvider.cs
- WindowsRegion.cs
- DPCustomTypeDescriptor.cs
- DnsPermission.cs
- ToolStripButton.cs
- CompiledAction.cs
- XmlSchemaSimpleContentExtension.cs
- SemaphoreSecurity.cs
- Point4DConverter.cs
- XsltArgumentList.cs
- DecoratedNameAttribute.cs
- SafeRegistryHandle.cs
- GZipStream.cs
- WeakEventManager.cs
- HitTestFilterBehavior.cs
- ChannelTraceRecord.cs
- XsltQilFactory.cs
- EventWaitHandle.cs
- ServiceControllerDesigner.cs
- CallInfo.cs
- GridSplitterAutomationPeer.cs
- SettingsProperty.cs
- SecurityDocument.cs
- AsymmetricSignatureDeformatter.cs
- LongPath.cs
- DebugView.cs
- _IPv4Address.cs
- Ports.cs
- SortableBindingList.cs
- HtmlInputSubmit.cs
- TrackingMemoryStreamFactory.cs
- StringInfo.cs
- ItemsChangedEventArgs.cs
- RightsManagementEncryptedStream.cs
- AssemblyName.cs
- XmlElementList.cs
- SoapSchemaExporter.cs
- NativeActivityTransactionContext.cs
- X509ChainPolicy.cs
- DataSourceComponent.cs
- CacheAxisQuery.cs
- AsymmetricSignatureDeformatter.cs
- ConstNode.cs
- WizardSideBarListControlItemEventArgs.cs
- _CacheStreams.cs
- ThreadAbortException.cs
- ACL.cs
- ToolboxItem.cs
- RawStylusInputCustomDataList.cs
- EntityTypeEmitter.cs
- KnownTypesProvider.cs
- StateDesigner.CommentLayoutGlyph.cs
- SrgsRuleRef.cs
- HealthMonitoringSection.cs
- IdleTimeoutMonitor.cs
- PartialArray.cs
- _DomainName.cs
- ZipIOCentralDirectoryFileHeader.cs
- PreProcessInputEventArgs.cs
- SecurityPermission.cs
- XmlAttributes.cs