Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / Configuration / ProtocolsConfiguration.cs / 2 / 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); // /* 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. //------------------------------------------------------------------------------ // // 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); // /* 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlParser.cs
- FocusChangedEventArgs.cs
- Camera.cs
- FontWeightConverter.cs
- LinqDataSourceContextData.cs
- MinMaxParagraphWidth.cs
- RepeaterItemEventArgs.cs
- Form.cs
- Currency.cs
- EmissiveMaterial.cs
- PropertyEmitter.cs
- BinHexDecoder.cs
- HelpFileFileNameEditor.cs
- SqlDataSource.cs
- ResXResourceWriter.cs
- WrapPanel.cs
- ImageIndexEditor.cs
- XmlTextAttribute.cs
- TextUtf8RawTextWriter.cs
- IfElseDesigner.xaml.cs
- TreePrinter.cs
- WebControlAdapter.cs
- ControlBuilder.cs
- TextEndOfLine.cs
- RSAPKCS1SignatureFormatter.cs
- EventToken.cs
- TextTreeUndo.cs
- DesignerCategoryAttribute.cs
- NetworkInterface.cs
- SymbolUsageManager.cs
- SiteIdentityPermission.cs
- EmptyReadOnlyDictionaryInternal.cs
- __ConsoleStream.cs
- DbSetClause.cs
- ToolTipAutomationPeer.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- CopyAttributesAction.cs
- DelegateArgumentReference.cs
- RecipientInfo.cs
- ClientTargetSection.cs
- Line.cs
- CryptoHandle.cs
- ClientUtils.cs
- LinqDataSourceView.cs
- SiteMapHierarchicalDataSourceView.cs
- SynchronizedMessageSource.cs
- SystemUdpStatistics.cs
- HiddenField.cs
- WindowsImpersonationContext.cs
- LexicalChunk.cs
- System.Data_BID.cs
- AtomEntry.cs
- DesignerFrame.cs
- StackBuilderSink.cs
- Tag.cs
- RegistrationServices.cs
- AbandonedMutexException.cs
- CompositeDispatchFormatter.cs
- TextBox.cs
- TickBar.cs
- ImageSource.cs
- HuffmanTree.cs
- InitializerFacet.cs
- AggregateNode.cs
- DynamicPropertyHolder.cs
- Attributes.cs
- Parallel.cs
- RootBrowserWindow.cs
- UriTemplateDispatchFormatter.cs
- XmlSortKeyAccumulator.cs
- RIPEMD160.cs
- DbProviderFactory.cs
- StyleSelector.cs
- ToolStripOverflowButton.cs
- ContentControl.cs
- DbMetaDataColumnNames.cs
- DbDataSourceEnumerator.cs
- HostProtectionPermission.cs
- HttpStreamFormatter.cs
- TemplateBuilder.cs
- GridLengthConverter.cs
- TTSEngineTypes.cs
- HtmlElementCollection.cs
- BlockCollection.cs
- ControlIdConverter.cs
- RelationHandler.cs
- RequestTimeoutManager.cs
- Triplet.cs
- PageContentCollection.cs
- StyleCollectionEditor.cs
- XmlHierarchyData.cs
- XmlSequenceWriter.cs
- EventHandlerList.cs
- DbProviderManifest.cs
- ProtocolViolationException.cs
- FixedSchema.cs
- DataFormats.cs
- Graph.cs
- XmlObjectSerializerContext.cs
- MimeMultiPart.cs