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
- WizardStepBase.cs
- InteropBitmapSource.cs
- WindowHideOrCloseTracker.cs
- HScrollBar.cs
- XmlNamespaceDeclarationsAttribute.cs
- TdsParserStateObject.cs
- Literal.cs
- MembershipUser.cs
- PageCatalogPart.cs
- GCHandleCookieTable.cs
- RSAPKCS1SignatureFormatter.cs
- FlatButtonAppearance.cs
- TripleDES.cs
- OleTxTransaction.cs
- TcpClientSocketManager.cs
- Knowncolors.cs
- TableLayoutPanel.cs
- ContentElementCollection.cs
- InternalsVisibleToAttribute.cs
- DataStreamFromComStream.cs
- SignedPkcs7.cs
- ConstrainedDataObject.cs
- ProgressBarBrushConverter.cs
- DataGridViewRow.cs
- Timer.cs
- IOThreadScheduler.cs
- Drawing.cs
- NamespaceEmitter.cs
- UnsafeNativeMethods.cs
- ValidationError.cs
- TypeSource.cs
- DeferredReference.cs
- ByteStack.cs
- SqlCacheDependencySection.cs
- TemplateFactory.cs
- FileDialog_Vista_Interop.cs
- CodeCommentStatementCollection.cs
- ToolStripItem.cs
- LineInfo.cs
- TreeBuilder.cs
- EntityDesignPluralizationHandler.cs
- SQLInt32Storage.cs
- SqlDataRecord.cs
- HttpDictionary.cs
- StyleTypedPropertyAttribute.cs
- SizeAnimationBase.cs
- WmiEventSink.cs
- Setter.cs
- COM2TypeInfoProcessor.cs
- login.cs
- Label.cs
- Style.cs
- ArgumentException.cs
- DelayedRegex.cs
- PageThemeParser.cs
- Pair.cs
- ImmComposition.cs
- SqlDataSourceQueryEditorForm.cs
- ModelItemCollection.cs
- SortExpressionBuilder.cs
- newinstructionaction.cs
- InputLanguageSource.cs
- LabelEditEvent.cs
- ApplicationHost.cs
- BitmapEffectOutputConnector.cs
- ColumnWidthChangedEvent.cs
- ResourceManagerWrapper.cs
- DataColumnMappingCollection.cs
- XPathEmptyIterator.cs
- DataGridParentRows.cs
- FontDifferentiator.cs
- MobileControlsSectionHandler.cs
- QueueSurrogate.cs
- IIS7UserPrincipal.cs
- MemberExpressionHelper.cs
- TextSelectionHelper.cs
- COMException.cs
- CombinedGeometry.cs
- ContainerParaClient.cs
- SurrogateDataContract.cs
- QueryParameter.cs
- GetWinFXPath.cs
- AliasedSlot.cs
- AsymmetricAlgorithm.cs
- WebRequestModuleElement.cs
- TextRunCache.cs
- InputGestureCollection.cs
- ConsoleKeyInfo.cs
- LayoutTable.cs
- TrustLevelCollection.cs
- FileLevelControlBuilderAttribute.cs
- DataBindingList.cs
- ViewgenGatekeeper.cs
- DataGridCommandEventArgs.cs
- PrintEvent.cs
- Interlocked.cs
- ProcessModelInfo.cs
- cookiecontainer.cs
- BlockCollection.cs
- DynamicActivity.cs