Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Configuration / ProtocolsConfiguration.cs / 1305376 / 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; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PreviewPageInfo.cs
- EntityCollection.cs
- MenuItem.cs
- DbMetaDataCollectionNames.cs
- RowToFieldTransformer.cs
- RouteTable.cs
- Tile.cs
- TreeViewItemAutomationPeer.cs
- ObjectQueryState.cs
- UserNameSecurityTokenParameters.cs
- HttpModulesSection.cs
- PolicyStatement.cs
- WebServiceFault.cs
- CultureTable.cs
- BuildManagerHost.cs
- StyleBamlTreeBuilder.cs
- VirtualPathUtility.cs
- KeyMatchBuilder.cs
- MimeBasePart.cs
- FileLoadException.cs
- Message.cs
- Switch.cs
- OLEDB_Enum.cs
- ExpressionEditorAttribute.cs
- MaskedTextProvider.cs
- NameValuePermission.cs
- InlineObject.cs
- ToolStripDropTargetManager.cs
- TextChange.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- XPathScanner.cs
- ToolTip.cs
- DynamicPropertyReader.cs
- DataRow.cs
- DetailsViewModeEventArgs.cs
- OrderByQueryOptionExpression.cs
- IPipelineRuntime.cs
- SyntaxCheck.cs
- InstanceHandle.cs
- WmlPageAdapter.cs
- ExpressionReplacer.cs
- ObjectDisposedException.cs
- XPathMultyIterator.cs
- MeasureData.cs
- SeverityFilter.cs
- Attributes.cs
- SystemDropShadowChrome.cs
- ThrowHelper.cs
- Permission.cs
- TranslateTransform3D.cs
- SecurityPolicySection.cs
- BitmapEffectInputData.cs
- ExeConfigurationFileMap.cs
- RelatedEnd.cs
- NeutralResourcesLanguageAttribute.cs
- CommandDevice.cs
- WriterOutput.cs
- ClientUrlResolverWrapper.cs
- MemberRelationshipService.cs
- XPathScanner.cs
- DesignTimeHTMLTextWriter.cs
- DesignerDataView.cs
- NonSerializedAttribute.cs
- AlignmentXValidation.cs
- LinkedDataMemberFieldEditor.cs
- Addressing.cs
- ListMarkerSourceInfo.cs
- Table.cs
- EdmType.cs
- TextServicesCompartment.cs
- Rect3D.cs
- ScriptControlManager.cs
- LazyTextWriterCreator.cs
- CommunicationException.cs
- DispatchWrapper.cs
- AsyncOperation.cs
- ComboBox.cs
- Debugger.cs
- TileBrush.cs
- DataGridViewDataConnection.cs
- DataTableClearEvent.cs
- DynamicArgumentDesigner.xaml.cs
- MouseWheelEventArgs.cs
- ProfessionalColorTable.cs
- PerformanceCounterManager.cs
- SplitContainer.cs
- SimpleTextLine.cs
- ExpressionCopier.cs
- RadioButtonList.cs
- clipboard.cs
- SecurityUtils.cs
- DataGridViewCellValidatingEventArgs.cs
- EncryptedReference.cs
- DataGridViewRowHeaderCell.cs
- SerializationAttributes.cs
- HelpProvider.cs
- RoleBoolean.cs
- TextPattern.cs
- XmlNodeChangedEventManager.cs
- PublisherMembershipCondition.cs