Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / Configuration / ProtocolsConfiguration.cs / 1 / 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
- MsmqInputSessionChannel.cs
- TreeBuilder.cs
- IOException.cs
- ListViewPagedDataSource.cs
- RecognizedPhrase.cs
- StreamGeometry.cs
- HashJoinQueryOperatorEnumerator.cs
- PackageProperties.cs
- IndentedWriter.cs
- ListViewSortEventArgs.cs
- MarkupCompilePass2.cs
- ServiceEndpointElement.cs
- WebRequestModuleElementCollection.cs
- ServiceBehaviorElement.cs
- SmiContextFactory.cs
- CommentGlyph.cs
- ConfigurationManagerHelperFactory.cs
- ConnectionManagementElementCollection.cs
- ManagementObject.cs
- Documentation.cs
- DiscoveryReference.cs
- NamedObject.cs
- HuffmanTree.cs
- WindowInteropHelper.cs
- Expressions.cs
- ObjectCloneHelper.cs
- AutomationPropertyInfo.cs
- cookie.cs
- SqlVersion.cs
- HttpPostedFile.cs
- EdmPropertyAttribute.cs
- TransactionContextValidator.cs
- HttpApplicationFactory.cs
- MsmqIntegrationSecurityElement.cs
- relpropertyhelper.cs
- ConfigurationException.cs
- MonikerSyntaxException.cs
- FormViewInsertEventArgs.cs
- PointCollection.cs
- DataBindingExpressionBuilder.cs
- EdmProviderManifest.cs
- InputLanguageSource.cs
- EntityDesignerDataSourceView.cs
- BrowserDefinitionCollection.cs
- ConsoleEntryPoint.cs
- TextParagraphProperties.cs
- Win32KeyboardDevice.cs
- StrokeCollection.cs
- HttpRuntime.cs
- _KerberosClient.cs
- TriState.cs
- BaseParagraph.cs
- UntrustedRecipientException.cs
- StringSorter.cs
- WebPartManager.cs
- ValidationHelper.cs
- DelegatingConfigHost.cs
- AssemblyBuilderData.cs
- BooleanFunctions.cs
- XmlCharType.cs
- HtmlInputHidden.cs
- DataSourceCache.cs
- DataSourceCache.cs
- AdCreatedEventArgs.cs
- TimersDescriptionAttribute.cs
- WorkflowDefinitionDispenser.cs
- StringArrayConverter.cs
- SchemaLookupTable.cs
- XmlRawWriterWrapper.cs
- RemoteWebConfigurationHostStream.cs
- ResolveCriteriaCD1.cs
- IntAverageAggregationOperator.cs
- CalendarDesigner.cs
- ComboBox.cs
- ObjectSecurityT.cs
- ByteConverter.cs
- EventDescriptor.cs
- AnalyzedTree.cs
- FormsAuthentication.cs
- SiteMapNodeItem.cs
- SystemIPGlobalStatistics.cs
- TextViewDesigner.cs
- TreeChangeInfo.cs
- MediaElement.cs
- XamlGridLengthSerializer.cs
- XmlSchema.cs
- PolicyChain.cs
- Dispatcher.cs
- PreservationFileWriter.cs
- MissingFieldException.cs
- ConvertersCollection.cs
- MenuEventArgs.cs
- XsltFunctions.cs
- BaseTemplateCodeDomTreeGenerator.cs
- TemplateComponentConnector.cs
- FixedDocumentSequencePaginator.cs
- FormView.cs
- cookie.cs
- DecoderNLS.cs
- PreservationFileReader.cs