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
- PlainXmlWriter.cs
- TextParaClient.cs
- ChannelServices.cs
- WebPartVerb.cs
- GradientBrush.cs
- NamespaceInfo.cs
- ZoneButton.cs
- StylusPointCollection.cs
- CatalogUtil.cs
- FormViewUpdateEventArgs.cs
- TreeNodeCollection.cs
- DelegateHelpers.Generated.cs
- WindowsScrollBar.cs
- XmlSortKeyAccumulator.cs
- EventLogPermission.cs
- InfoCardBaseException.cs
- TextFormatter.cs
- BitmapEffectCollection.cs
- WindowsRichEditRange.cs
- MappingModelBuildProvider.cs
- ModelFunctionTypeElement.cs
- LinkConverter.cs
- NoneExcludedImageIndexConverter.cs
- CapabilitiesUse.cs
- ViewRendering.cs
- BindingNavigator.cs
- EntityContainerEmitter.cs
- Workspace.cs
- Rfc2898DeriveBytes.cs
- MouseGesture.cs
- WeakReference.cs
- XLinq.cs
- Int32.cs
- userdatakeys.cs
- XmlSchemaInferenceException.cs
- TreeNodeStyle.cs
- SynchronizationContext.cs
- SyncMethodInvoker.cs
- DocumentOrderQuery.cs
- SortQuery.cs
- BounceEase.cs
- PageSetupDialog.cs
- SortDescriptionCollection.cs
- DataGridViewTextBoxEditingControl.cs
- FullTrustAssemblyCollection.cs
- MenuCommandService.cs
- MasterPageBuildProvider.cs
- UrlSyndicationContent.cs
- SafeUserTokenHandle.cs
- StretchValidation.cs
- WebPartConnectionsConfigureVerb.cs
- TabletDeviceInfo.cs
- SiteOfOriginContainer.cs
- TimeStampChecker.cs
- EpmAttributeNameBuilder.cs
- TemplateBaseAction.cs
- TemplateControlParser.cs
- ParenthesizePropertyNameAttribute.cs
- AutomationElementCollection.cs
- ScaleTransform.cs
- Char.cs
- ConnectionProviderAttribute.cs
- MD5HashHelper.cs
- StylusOverProperty.cs
- CodeAttributeArgumentCollection.cs
- HtmlControl.cs
- ImageCodecInfo.cs
- DataReaderContainer.cs
- PcmConverter.cs
- TraceShell.cs
- JoinGraph.cs
- QueryInterceptorAttribute.cs
- ErrorWebPart.cs
- ConfigurationPropertyCollection.cs
- SystemThemeKey.cs
- FullTrustAssemblyCollection.cs
- ParseHttpDate.cs
- ToolStripGrip.cs
- ObjectConverter.cs
- ViewPort3D.cs
- BrowserCapabilitiesCodeGenerator.cs
- ObjectView.cs
- TypeUtil.cs
- StylusDownEventArgs.cs
- XmlSchemaDatatype.cs
- ProviderCollection.cs
- TransformedBitmap.cs
- ListSortDescription.cs
- HandledEventArgs.cs
- HitTestResult.cs
- TreeWalker.cs
- TypeLibConverter.cs
- IndicCharClassifier.cs
- SQLByte.cs
- TextSearch.cs
- XmlValidatingReaderImpl.cs
- CorrelationManager.cs
- XmlILModule.cs
- EndpointDispatcher.cs
- ObjectQueryState.cs