Code:
/ FX-1434 / FX-1434 / 1.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
- ApplicationFileCodeDomTreeGenerator.cs
- HiddenFieldPageStatePersister.cs
- XmlnsCache.cs
- Roles.cs
- SharedDp.cs
- MouseButton.cs
- Stroke2.cs
- Visual3D.cs
- DataServiceException.cs
- SelectiveScrollingGrid.cs
- RootBuilder.cs
- TreeViewHitTestInfo.cs
- BasicViewGenerator.cs
- EventToken.cs
- NativeCompoundFileAPIs.cs
- XamlDebuggerXmlReader.cs
- MultipleViewPattern.cs
- SafeNativeMethodsMilCoreApi.cs
- recordstate.cs
- HandlerBase.cs
- VectorConverter.cs
- DrawingBrush.cs
- ObjectDataSourceChooseTypePanel.cs
- StoreItemCollection.cs
- OfTypeExpression.cs
- Imaging.cs
- Html32TextWriter.cs
- Int32KeyFrameCollection.cs
- LookupNode.cs
- VoiceChangeEventArgs.cs
- NameNode.cs
- ControlBindingsCollection.cs
- XmlWriterSettings.cs
- SoundPlayerAction.cs
- QueryConverter.cs
- ModifierKeysValueSerializer.cs
- ObjectPersistData.cs
- InheritanceAttribute.cs
- OutputCacheProviderCollection.cs
- CompositeControl.cs
- IPHostEntry.cs
- EventPrivateKey.cs
- WebBrowserHelper.cs
- CodeDirectoryCompiler.cs
- TextFormatterContext.cs
- DNS.cs
- FormClosingEvent.cs
- DataGridViewSelectedRowCollection.cs
- Registry.cs
- SwitchLevelAttribute.cs
- GroupBox.cs
- StringReader.cs
- Model3DCollection.cs
- _CacheStreams.cs
- DataGridViewTextBoxColumn.cs
- ConnectionStringsSection.cs
- XsltLibrary.cs
- UriSectionData.cs
- TransformValueSerializer.cs
- MembershipAdapter.cs
- ConnectionProviderAttribute.cs
- View.cs
- EnumerableCollectionView.cs
- FontDifferentiator.cs
- SpellerInterop.cs
- ObjectStateEntryDbDataRecord.cs
- DataGridViewControlCollection.cs
- TextComposition.cs
- ProtectedConfigurationSection.cs
- CodePageUtils.cs
- BypassElementCollection.cs
- Nodes.cs
- Events.cs
- LicenseManager.cs
- _HeaderInfoTable.cs
- ObjectDisposedException.cs
- Stroke2.cs
- EntityAdapter.cs
- ListManagerBindingsCollection.cs
- SettingsContext.cs
- SmiXetterAccessMap.cs
- Binding.cs
- AnchorEditor.cs
- SystemWebSectionGroup.cs
- RestClientProxyHandler.cs
- EdmValidator.cs
- FlowDocumentView.cs
- AuthenticationService.cs
- ExceptionTrace.cs
- updateconfighost.cs
- SingleObjectCollection.cs
- TemplateControlBuildProvider.cs
- SyndicationDeserializer.cs
- CreateUserWizardStep.cs
- MimeFormatter.cs
- _SslSessionsCache.cs
- SiteMapSection.cs
- RefExpr.cs
- DataObjectFieldAttribute.cs
- IISMapPath.cs