Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Configuration / ProtocolsConfiguration.cs / 1305376 / 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
- BinHexDecoder.cs
- ItemsControlAutomationPeer.cs
- EntityDataSourceSelectedEventArgs.cs
- FormDesigner.cs
- PersistenceTypeAttribute.cs
- WindowsStatusBar.cs
- DataGridColumnHeader.cs
- XamlGridLengthSerializer.cs
- ValidationHelpers.cs
- ProtocolsSection.cs
- GridViewUpdatedEventArgs.cs
- Rect3DValueSerializer.cs
- EncoderFallback.cs
- TempFiles.cs
- RequestResizeEvent.cs
- BitSet.cs
- LineProperties.cs
- ConstraintStruct.cs
- StateMachineWorkflow.cs
- SQLDateTimeStorage.cs
- WindowsFormsHostAutomationPeer.cs
- DesignerLoader.cs
- LambdaCompiler.cs
- UnsafeNativeMethods.cs
- ProjectionPathBuilder.cs
- CounterSampleCalculator.cs
- AutoSizeComboBox.cs
- CookieHandler.cs
- DiagnosticTrace.cs
- GenericIdentity.cs
- SparseMemoryStream.cs
- SelectionEditor.cs
- LicenseManager.cs
- SecureUICommand.cs
- MeasureItemEvent.cs
- FormatPage.cs
- SqlCommandSet.cs
- QilLoop.cs
- Page.cs
- IndependentAnimationStorage.cs
- Int32CAMarshaler.cs
- RadioButtonBaseAdapter.cs
- DataGridCellInfo.cs
- documentsequencetextpointer.cs
- GridViewColumnCollection.cs
- DrawListViewColumnHeaderEventArgs.cs
- ColorAnimation.cs
- StreamingContext.cs
- SplineKeyFrames.cs
- RepeaterCommandEventArgs.cs
- MultiBindingExpression.cs
- HandlerWithFactory.cs
- DataViewManager.cs
- PtsCache.cs
- BaseDataListPage.cs
- XmlSchemaComplexContentRestriction.cs
- ArcSegment.cs
- TripleDES.cs
- StringUtil.cs
- SoapAttributeAttribute.cs
- COM2ColorConverter.cs
- ListItemConverter.cs
- HtmlInputReset.cs
- HyperLinkField.cs
- ApplicationActivator.cs
- TCPListener.cs
- DisableDpiAwarenessAttribute.cs
- unsafeIndexingFilterStream.cs
- SymmetricAlgorithm.cs
- IssuedTokenClientBehaviorsElementCollection.cs
- ToolStripDropTargetManager.cs
- FieldToken.cs
- BoundField.cs
- DateTimeParse.cs
- assertwrapper.cs
- _NetworkingPerfCounters.cs
- SectionUpdates.cs
- SqlBulkCopy.cs
- CursorEditor.cs
- ByteStack.cs
- HTTPRemotingHandler.cs
- TimelineGroup.cs
- Point4DConverter.cs
- _SslState.cs
- control.ime.cs
- ImageDrawing.cs
- XPathParser.cs
- PeerToPeerException.cs
- listitem.cs
- HiddenField.cs
- NumericUpDown.cs
- ComponentCollection.cs
- AppSettingsExpressionEditor.cs
- ToolBarButtonDesigner.cs
- Simplifier.cs
- ConnectionStringSettings.cs
- IgnoreFileBuildProvider.cs
- Color.cs
- ModulesEntry.cs
- XPathBinder.cs