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
- UIntPtr.cs
- RijndaelManagedTransform.cs
- _CacheStreams.cs
- StatusBar.cs
- CategoryValueConverter.cs
- ConfigurationSectionGroupCollection.cs
- GPRECTF.cs
- OracleLob.cs
- AssemblyFilter.cs
- XmlIterators.cs
- ToolStripContentPanelDesigner.cs
- NativeMethods.cs
- NotificationContext.cs
- DesignerMetadata.cs
- FontFamily.cs
- SequenceDesignerAccessibleObject.cs
- BitmapCacheBrush.cs
- OptimizedTemplateContent.cs
- UnsafeNativeMethods.cs
- ReflectTypeDescriptionProvider.cs
- TemplateAction.cs
- IList.cs
- RealizedColumnsBlock.cs
- PerformanceCounterPermission.cs
- MemberInfoSerializationHolder.cs
- RegexCompiler.cs
- pingexception.cs
- SendingRequestEventArgs.cs
- CompilerError.cs
- GeometryDrawing.cs
- PaginationProgressEventArgs.cs
- Form.cs
- MessagePropertyDescription.cs
- MsiStyleLogWriter.cs
- LayoutSettings.cs
- Set.cs
- DataColumnCollection.cs
- AppearanceEditorPart.cs
- XmlQueryOutput.cs
- DownloadProgressEventArgs.cs
- ButtonColumn.cs
- CodeTypeDelegate.cs
- PatternMatchRules.cs
- DbModificationCommandTree.cs
- ErrorRuntimeConfig.cs
- BitmapCache.cs
- HtmlInputFile.cs
- Inflater.cs
- BaseAppDomainProtocolHandler.cs
- BufferBuilder.cs
- XPathChildIterator.cs
- FontCollection.cs
- InternalResources.cs
- DataRowExtensions.cs
- ObjectIDGenerator.cs
- SQLStringStorage.cs
- WindowsImpersonationContext.cs
- AmbientLight.cs
- VisualStates.cs
- XmlTextWriter.cs
- EventProvider.cs
- HttpPostedFile.cs
- WindowsStatic.cs
- GetRecipientRequest.cs
- DataGridViewAccessibleObject.cs
- EventlogProvider.cs
- BamlBinaryWriter.cs
- TypeViewSchema.cs
- FrameworkRichTextComposition.cs
- ChooseAction.cs
- MatrixConverter.cs
- ClientSettingsSection.cs
- MaskedTextBoxDesignerActionList.cs
- GridItem.cs
- TextBox.cs
- XmlNamedNodeMap.cs
- uribuilder.cs
- DataKeyCollection.cs
- Keyboard.cs
- CodeAccessSecurityEngine.cs
- DataGridTextBox.cs
- ColumnWidthChangedEvent.cs
- SymLanguageVendor.cs
- DragCompletedEventArgs.cs
- RouteItem.cs
- DataTableCollection.cs
- SamlSubject.cs
- EdmTypeAttribute.cs
- ConfigurationStrings.cs
- WindowsStreamSecurityBindingElement.cs
- NameSpaceExtractor.cs
- ContextMenu.cs
- SmiRequestExecutor.cs
- WebPartDisplayMode.cs
- SuppressMergeCheckAttribute.cs
- ContextMenuAutomationPeer.cs
- RegisteredDisposeScript.cs
- DBConnectionString.cs
- GeneralTransformGroup.cs
- View.cs