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
- SrgsSemanticInterpretationTag.cs
- ProxyManager.cs
- HttpResponseHeader.cs
- ContractReference.cs
- TransformCollection.cs
- GeometryHitTestParameters.cs
- DescendantOverDescendantQuery.cs
- StrongTypingException.cs
- TextServicesHost.cs
- WinFormsComponentEditor.cs
- EventItfInfo.cs
- EntityChangedParams.cs
- ForwardPositionQuery.cs
- SqlClientPermission.cs
- PrefixHandle.cs
- ToolboxItemCollection.cs
- PrintPageEvent.cs
- CorrelationManager.cs
- XslTransformFileEditor.cs
- XhtmlBasicTextViewAdapter.cs
- QueryReaderSettings.cs
- ErrorHandlerModule.cs
- DefaultBindingPropertyAttribute.cs
- CachedBitmap.cs
- Exceptions.cs
- RawStylusInput.cs
- CallbackException.cs
- autovalidator.cs
- PersonalizableAttribute.cs
- KeyPullup.cs
- SqlDataSourceEnumerator.cs
- ObjectMemberMapping.cs
- EntityWrapperFactory.cs
- TableParagraph.cs
- HttpCookie.cs
- CustomCategoryAttribute.cs
- InputScopeAttribute.cs
- State.cs
- WindowPatternIdentifiers.cs
- XmlStreamNodeWriter.cs
- TemplateColumn.cs
- MailMessage.cs
- WebPageTraceListener.cs
- Module.cs
- HttpListenerResponse.cs
- PolyQuadraticBezierSegment.cs
- ProjectionPathBuilder.cs
- XXXInfos.cs
- EventPropertyMap.cs
- PersonalizationStateInfoCollection.cs
- Transform3D.cs
- EventDescriptorCollection.cs
- RedirectionProxy.cs
- TextElementEnumerator.cs
- AlgoModule.cs
- LocalValueEnumerator.cs
- XmlDownloadManager.cs
- QuinticEase.cs
- MouseWheelEventArgs.cs
- MethodRental.cs
- OleDbCommand.cs
- BaseTreeIterator.cs
- HtmlInputHidden.cs
- DiscoveryClientChannelFactory.cs
- DefaultTextStore.cs
- ActiveXHost.cs
- SamlAuthenticationClaimResource.cs
- SpellerHighlightLayer.cs
- DefinitionBase.cs
- RuntimeConfig.cs
- UmAlQuraCalendar.cs
- Model3D.cs
- SmtpMail.cs
- OdbcParameterCollection.cs
- DefaultProxySection.cs
- ServicesSection.cs
- Symbol.cs
- HierarchicalDataBoundControl.cs
- EntityDataSourceChangedEventArgs.cs
- AlternateViewCollection.cs
- DataControlFieldCell.cs
- RawStylusInputCustomDataList.cs
- TypeUsage.cs
- VirtualPathUtility.cs
- WebPartsPersonalizationAuthorization.cs
- BrowserCapabilitiesCodeGenerator.cs
- IApplicationTrustManager.cs
- ZipIORawDataFileBlock.cs
- HashCodeCombiner.cs
- MessageRpc.cs
- httpserverutility.cs
- ApplicationSecurityInfo.cs
- AccessedThroughPropertyAttribute.cs
- QuaternionAnimation.cs
- AppDomainAttributes.cs
- SQLSingle.cs
- DesignTimeXamlWriter.cs
- ProfileSection.cs
- sqlnorm.cs
- SqlStatistics.cs