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
- WorkflowInstanceExtensionProvider.cs
- Vector3dCollection.cs
- InvokeBinder.cs
- SafeNativeMemoryHandle.cs
- SQLDoubleStorage.cs
- Binding.cs
- ToolStripMenuItem.cs
- HMACSHA256.cs
- CallbackValidatorAttribute.cs
- WmlPanelAdapter.cs
- JsonFormatWriterGenerator.cs
- SchemaImporterExtension.cs
- FolderLevelBuildProviderCollection.cs
- ImplicitInputBrush.cs
- InputDevice.cs
- ControllableStoryboardAction.cs
- SessionStateUtil.cs
- EventlogProvider.cs
- AssertFilter.cs
- ProxyManager.cs
- ConnectionString.cs
- BindingCompleteEventArgs.cs
- StaticExtensionConverter.cs
- ScriptingAuthenticationServiceSection.cs
- TextEncodedRawTextWriter.cs
- _Win32.cs
- BrushConverter.cs
- Timer.cs
- XmlStringTable.cs
- CatalogZoneBase.cs
- OrCondition.cs
- GlyphElement.cs
- FixedPosition.cs
- ListView.cs
- SQLDecimalStorage.cs
- StrokeNode.cs
- FontStyle.cs
- DesignTimeTemplateParser.cs
- CodeConditionStatement.cs
- RenderData.cs
- FileNotFoundException.cs
- SHA512.cs
- COM2TypeInfoProcessor.cs
- RSAPKCS1SignatureFormatter.cs
- Utility.cs
- LogEntryDeserializer.cs
- XmlElementCollection.cs
- FixedSOMPage.cs
- WebHttpSecurityElement.cs
- SafeArrayRankMismatchException.cs
- Size3D.cs
- XmlTextWriter.cs
- FileChangesMonitor.cs
- MapPathBasedVirtualPathProvider.cs
- DrawingContextWalker.cs
- SQLInt64.cs
- MessageBox.cs
- DataGrid.cs
- WebBrowserProgressChangedEventHandler.cs
- FormatStringEditor.cs
- SerTrace.cs
- PrintPreviewDialog.cs
- DirectoryNotFoundException.cs
- ListManagerBindingsCollection.cs
- XmlSchemaAppInfo.cs
- RadialGradientBrush.cs
- DocumentPageHost.cs
- PropertyTabAttribute.cs
- NetStream.cs
- XmlNavigatorStack.cs
- ScalarType.cs
- altserialization.cs
- RegexGroupCollection.cs
- PrimitiveSchema.cs
- ObjectDataSourceEventArgs.cs
- EndOfStreamException.cs
- WindowsRebar.cs
- NullRuntimeConfig.cs
- CacheEntry.cs
- Zone.cs
- TargetPerspective.cs
- UrlPath.cs
- RetrieveVirtualItemEventArgs.cs
- ToolBar.cs
- ToolStripPanelRow.cs
- BigInt.cs
- DirectionalLight.cs
- CommandPlan.cs
- _StreamFramer.cs
- SystemDropShadowChrome.cs
- HostedElements.cs
- ConstrainedDataObject.cs
- StreamSecurityUpgradeAcceptorAsyncResult.cs
- WebPartEditorApplyVerb.cs
- ServiceDescriptions.cs
- XmlArrayItemAttribute.cs
- AssociationEndMember.cs
- ContentElementAutomationPeer.cs
- CompressionTracing.cs
- TileModeValidation.cs