Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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); // 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; } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EventData.cs
- TextSpanModifier.cs
- PackWebRequest.cs
- XsltArgumentList.cs
- JsonServiceDocumentSerializer.cs
- InstanceData.cs
- DelegatingConfigHost.cs
- ExcludeFromCodeCoverageAttribute.cs
- IdentitySection.cs
- MouseGestureConverter.cs
- BulletChrome.cs
- InkCanvasFeedbackAdorner.cs
- ThreadNeutralSemaphore.cs
- ModuleConfigurationInfo.cs
- WeakHashtable.cs
- TracingConnection.cs
- HttpHandlersSection.cs
- DataGridViewRowCollection.cs
- TableLayoutPanelDesigner.cs
- MethodImplAttribute.cs
- CollectionBase.cs
- ScrollData.cs
- PriorityQueue.cs
- DefaultAsyncDataDispatcher.cs
- PageAsyncTaskManager.cs
- XmlRootAttribute.cs
- DesignerTransaction.cs
- FrameworkContextData.cs
- SimpleTextLine.cs
- UIElementHelper.cs
- StackSpiller.cs
- HandlerFactoryWrapper.cs
- TextEditorContextMenu.cs
- elementinformation.cs
- RuntimeConfigLKG.cs
- EventLogPermissionEntry.cs
- WebCategoryAttribute.cs
- DecoderExceptionFallback.cs
- DataGridColumn.cs
- CorrelationActionMessageFilter.cs
- StyleHelper.cs
- EventBookmark.cs
- BamlTreeUpdater.cs
- XmlSerializationReader.cs
- Pair.cs
- ApplicationTrust.cs
- _SingleItemRequestCache.cs
- HashFinalRequest.cs
- ToolBar.cs
- BooleanAnimationBase.cs
- BaseTemplateParser.cs
- CollectionBuilder.cs
- DataGridViewButtonColumn.cs
- UnknownWrapper.cs
- WindowAutomationPeer.cs
- NetworkCredential.cs
- ClientTargetSection.cs
- ImageClickEventArgs.cs
- TextClipboardData.cs
- WSSecureConversation.cs
- LinkedList.cs
- ScopeElementCollection.cs
- InstanceData.cs
- UserControlBuildProvider.cs
- Switch.cs
- SelectingProviderEventArgs.cs
- SortKey.cs
- DirectoryObjectSecurity.cs
- ParallelActivityDesigner.cs
- CodeTypeMember.cs
- TransportBindingElement.cs
- RelationshipFixer.cs
- PriorityChain.cs
- InvokeMethod.cs
- ActionNotSupportedException.cs
- NameScope.cs
- LineGeometry.cs
- PathSegmentCollection.cs
- GridViewUpdateEventArgs.cs
- CodeConstructor.cs
- TabControlEvent.cs
- Encoding.cs
- RowCache.cs
- HebrewNumber.cs
- XPathMultyIterator.cs
- ConfigXmlSignificantWhitespace.cs
- HMACSHA1.cs
- DesignTimeParseData.cs
- MailBnfHelper.cs
- mda.cs
- SafeArrayRankMismatchException.cs
- SoapAttributeAttribute.cs
- DSASignatureFormatter.cs
- AsymmetricSignatureFormatter.cs
- ECDsaCng.cs
- connectionpool.cs
- ScrollData.cs
- HashHelper.cs
- Splitter.cs
- SecurityTokenRequirement.cs