Code:
/ DotNET / DotNET / 8.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
- XmlBinaryReaderSession.cs
- WindowAutomationPeer.cs
- ToolStripItemCollection.cs
- Errors.cs
- PocoEntityKeyStrategy.cs
- SqlLiftWhereClauses.cs
- ConnectivityStatus.cs
- CaseInsensitiveHashCodeProvider.cs
- OpCodes.cs
- LocatorPart.cs
- EventArgs.cs
- Set.cs
- NetTcpBindingElement.cs
- ErrorActivity.cs
- PreDigestedSignedInfo.cs
- regiisutil.cs
- ClipboardData.cs
- XmlUnspecifiedAttribute.cs
- PersonalizationProviderHelper.cs
- WhitespaceRuleReader.cs
- SqlRowUpdatingEvent.cs
- Header.cs
- ConstraintConverter.cs
- DataColumn.cs
- StringPropertyBuilder.cs
- StorageComplexTypeMapping.cs
- RangeBaseAutomationPeer.cs
- XmlSchemaFacet.cs
- IRCollection.cs
- DataPagerFieldCommandEventArgs.cs
- AttachInfo.cs
- DeferredTextReference.cs
- ConditionCollection.cs
- MemberProjectionIndex.cs
- AssemblyBuilder.cs
- PasswordDeriveBytes.cs
- DecoderExceptionFallback.cs
- __ComObject.cs
- CodeCatchClauseCollection.cs
- DataColumnMappingCollection.cs
- CroppedBitmap.cs
- AssociatedControlConverter.cs
- IPAddress.cs
- TemplateModeChangedEventArgs.cs
- InitializingNewItemEventArgs.cs
- TextModifier.cs
- MappingException.cs
- TextTreeInsertUndoUnit.cs
- StackOverflowException.cs
- SpnEndpointIdentityExtension.cs
- DecoratedNameAttribute.cs
- SharedStatics.cs
- XmlSchemaAll.cs
- WS2007FederationHttpBindingElement.cs
- UnicastIPAddressInformationCollection.cs
- Stylesheet.cs
- DataComponentGenerator.cs
- PointAnimationUsingPath.cs
- SubstitutionDesigner.cs
- Listbox.cs
- TableHeaderCell.cs
- SupportingTokenSecurityTokenResolver.cs
- ImageKeyConverter.cs
- BindingMemberInfo.cs
- WebPartMenuStyle.cs
- WebServiceErrorEvent.cs
- XslTransform.cs
- RoutedEventValueSerializer.cs
- EventPrivateKey.cs
- Schema.cs
- XPathAncestorQuery.cs
- RijndaelManaged.cs
- XmlDeclaration.cs
- RepeaterItemCollection.cs
- AppSettingsExpressionBuilder.cs
- QueryableFilterUserControl.cs
- AnimationException.cs
- ContainerUIElement3D.cs
- Matrix.cs
- StreamingContext.cs
- PrintingPermission.cs
- FieldDescriptor.cs
- SecurityTokenValidationException.cs
- ConfigurationStrings.cs
- ClientApiGenerator.cs
- InteropDesigner.xaml.cs
- RegistrationServices.cs
- AutomationPeer.cs
- BreakRecordTable.cs
- ConnectionStringsSection.cs
- FocusChangedEventArgs.cs
- ProviderUtil.cs
- TrackBarRenderer.cs
- DataGridViewBand.cs
- CodeTypeParameterCollection.cs
- OperatorExpressions.cs
- SamlAction.cs
- FontInfo.cs
- SqlMetaData.cs
- StateMachineAction.cs