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
- XPathSelfQuery.cs
- SyndicationLink.cs
- XPathException.cs
- ObjectQuery.cs
- X509AsymmetricSecurityKey.cs
- TextEvent.cs
- StreamAsIStream.cs
- BindingCollection.cs
- DataControlFieldHeaderCell.cs
- Utilities.cs
- ErrorRuntimeConfig.cs
- SecurityPermission.cs
- ContainsSearchOperator.cs
- HitTestParameters3D.cs
- ControlIdConverter.cs
- BamlLocalizableResource.cs
- MulticastDelegate.cs
- DataObjectPastingEventArgs.cs
- AuthenticationModulesSection.cs
- ProtectedConfigurationSection.cs
- ValidationErrorCollection.cs
- PartDesigner.cs
- DataGridViewRowCancelEventArgs.cs
- AsymmetricKeyExchangeFormatter.cs
- SamlEvidence.cs
- FontUnit.cs
- _NetworkingPerfCounters.cs
- ReservationNotFoundException.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- HScrollBar.cs
- GeneralTransformGroup.cs
- GradientStopCollection.cs
- HtmlElementCollection.cs
- RuleSet.cs
- IndexOutOfRangeException.cs
- TreeViewItem.cs
- NamespaceCollection.cs
- SerializationTrace.cs
- AppSettings.cs
- ReceiveSecurityHeaderElementManager.cs
- SolidColorBrush.cs
- FixedElement.cs
- WindowsFormsSynchronizationContext.cs
- CalendarDay.cs
- EnumMember.cs
- ConfigurationLocation.cs
- TemplateBindingExpression.cs
- ConfigXmlSignificantWhitespace.cs
- CompoundFileDeflateTransform.cs
- RuntimeConfigurationRecord.cs
- StringOutput.cs
- EncoderBestFitFallback.cs
- Collection.cs
- MergePropertyDescriptor.cs
- Filter.cs
- XPathCompiler.cs
- WaitHandleCannotBeOpenedException.cs
- ComponentResourceKeyConverter.cs
- FileUtil.cs
- ConditionalBranch.cs
- KeyConverter.cs
- SchemaDeclBase.cs
- WebScriptEndpointElement.cs
- ServiceModelEnumValidatorAttribute.cs
- XPathNodeInfoAtom.cs
- DataObject.cs
- complextypematerializer.cs
- SupportingTokenBindingElement.cs
- SharedUtils.cs
- OracleSqlParser.cs
- BindValidator.cs
- XamlStream.cs
- PageRanges.cs
- FileDialogPermission.cs
- _NTAuthentication.cs
- DoubleAnimationClockResource.cs
- ColorAnimationUsingKeyFrames.cs
- XmlWrappingWriter.cs
- NotSupportedException.cs
- CheckBoxDesigner.cs
- XmlHelper.cs
- ListParagraph.cs
- ParameterSubsegment.cs
- SQLBinaryStorage.cs
- mediaclock.cs
- ImageSourceValueSerializer.cs
- Activity.cs
- WebPartConnectionsConfigureVerb.cs
- NullReferenceException.cs
- DiscoveryClientRequestChannel.cs
- XamlTreeBuilder.cs
- WebServiceFaultDesigner.cs
- Events.cs
- _BasicClient.cs
- BulletChrome.cs
- MsmqIntegrationProcessProtocolHandler.cs
- MultipartContentParser.cs
- IdnElement.cs
- DataGridViewImageColumn.cs
- DataGridViewRowHeaderCell.cs