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
- CodeMemberEvent.cs
- TransformGroup.cs
- GreenMethods.cs
- WizardForm.cs
- _DomainName.cs
- IdleTimeoutMonitor.cs
- OSFeature.cs
- HandleRef.cs
- MDIClient.cs
- TypeNameHelper.cs
- sqlmetadatafactory.cs
- ApplicationId.cs
- SqlConnectionPoolProviderInfo.cs
- SelectionRange.cs
- DataGridAutoFormatDialog.cs
- DataGridViewCheckBoxCell.cs
- AssemblySettingAttributes.cs
- SqlProcedureAttribute.cs
- COMException.cs
- Image.cs
- PropertyGroupDescription.cs
- CustomAttributeFormatException.cs
- COM2ComponentEditor.cs
- FontFaceLayoutInfo.cs
- WebBrowsableAttribute.cs
- CatalogUtil.cs
- ResourceAttributes.cs
- HtmlEmptyTagControlBuilder.cs
- RuleInfoComparer.cs
- SimplePropertyEntry.cs
- Thread.cs
- Shape.cs
- ScaleTransform.cs
- DbQueryCommandTree.cs
- CompareValidator.cs
- DelegatingConfigHost.cs
- ElementFactory.cs
- PathFigureCollection.cs
- XamlFigureLengthSerializer.cs
- XPathException.cs
- Viewport3DVisual.cs
- MatchingStyle.cs
- ComPlusTypeLoader.cs
- OpenTypeLayoutCache.cs
- PingOptions.cs
- SoapAttributeOverrides.cs
- ScriptingScriptResourceHandlerSection.cs
- PropertyManager.cs
- SetState.cs
- XmlNodeList.cs
- ReliabilityContractAttribute.cs
- SQLMembershipProvider.cs
- Crypto.cs
- DeferrableContentConverter.cs
- RemotingConfiguration.cs
- ReferencedCollectionType.cs
- FormatterConverter.cs
- XslException.cs
- CellParagraph.cs
- BaseComponentEditor.cs
- DEREncoding.cs
- HexParser.cs
- InstanceDataCollectionCollection.cs
- Stream.cs
- ShutDownListener.cs
- Crc32Helper.cs
- ContentElementAutomationPeer.cs
- WebPartDeleteVerb.cs
- FrameworkPropertyMetadata.cs
- TemplateControlParser.cs
- DefaultEventAttribute.cs
- ListParaClient.cs
- SmiContext.cs
- TextContainerChangedEventArgs.cs
- TreeViewCancelEvent.cs
- StrokeRenderer.cs
- ItemsPresenter.cs
- SolidBrush.cs
- HtmlLink.cs
- RadioButtonRenderer.cs
- translator.cs
- MaskDescriptor.cs
- XmlSchema.cs
- TdsParserHelperClasses.cs
- Matrix3DConverter.cs
- FormsAuthenticationModule.cs
- WindowsListView.cs
- InputGestureCollection.cs
- KeyManager.cs
- DateBoldEvent.cs
- MsmqQueue.cs
- AdRotator.cs
- DatagridviewDisplayedBandsData.cs
- XMLUtil.cs
- ValueChangedEventManager.cs
- PenContext.cs
- StylusButtonCollection.cs
- ProfileGroupSettingsCollection.cs
- SetterTriggerConditionValueConverter.cs
- ILGenerator.cs