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
- ProcessModule.cs
- ReadOnlyDataSource.cs
- RootBrowserWindowAutomationPeer.cs
- TextElement.cs
- Visitors.cs
- ItemCollection.cs
- RegionData.cs
- smtpconnection.cs
- KeyedCollection.cs
- TextRangeAdaptor.cs
- DatePickerTextBox.cs
- ObjectIDGenerator.cs
- EDesignUtil.cs
- itemelement.cs
- SimpleParser.cs
- OleAutBinder.cs
- VirtualPathUtility.cs
- RegexBoyerMoore.cs
- XmlDataSource.cs
- RoutedEventArgs.cs
- PixelFormatConverter.cs
- DayRenderEvent.cs
- SqlCommandBuilder.cs
- ColumnTypeConverter.cs
- DataPointer.cs
- RelationshipConverter.cs
- DropShadowBitmapEffect.cs
- AttachmentCollection.cs
- UnauthorizedAccessException.cs
- DataServiceContext.cs
- ProxyWebPartConnectionCollection.cs
- ActionItem.cs
- ElementHostPropertyMap.cs
- DisplayInformation.cs
- SafeViewOfFileHandle.cs
- CssTextWriter.cs
- DocumentPage.cs
- CurrentChangingEventManager.cs
- UnionCqlBlock.cs
- _NestedMultipleAsyncResult.cs
- XmlQueryContext.cs
- FacetEnabledSchemaElement.cs
- AdvancedBindingPropertyDescriptor.cs
- MyContact.cs
- DesignRelationCollection.cs
- CachingParameterInspector.cs
- EntityDesignerUtils.cs
- DesignerProperties.cs
- BulletChrome.cs
- BufferedGraphicsContext.cs
- FragmentQuery.cs
- InstalledFontCollection.cs
- Point.cs
- CollectionBuilder.cs
- EditingCommands.cs
- HttpListenerContext.cs
- GrammarBuilderDictation.cs
- MultiTargetingUtil.cs
- validationstate.cs
- RouteParametersHelper.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- HitTestWithPointDrawingContextWalker.cs
- DictionaryKeyPropertyAttribute.cs
- ActivityValidator.cs
- MethodCallConverter.cs
- HtmlInputRadioButton.cs
- UpdateEventArgs.cs
- XamlTypeMapperSchemaContext.cs
- Signature.cs
- LinearQuaternionKeyFrame.cs
- RevocationPoint.cs
- DesignerSerializationOptionsAttribute.cs
- HtmlTitle.cs
- FixedSOMTableCell.cs
- CollectionChangedEventManager.cs
- SafeNativeMethods.cs
- TemplateLookupAction.cs
- EventPropertyMap.cs
- PropertyConverter.cs
- Double.cs
- TableNameAttribute.cs
- LayoutExceptionEventArgs.cs
- FileStream.cs
- WebResourceAttribute.cs
- ManageRequest.cs
- CqlParser.cs
- COM2ICategorizePropertiesHandler.cs
- MsmqAppDomainProtocolHandler.cs
- LinkClickEvent.cs
- FlatButtonAppearance.cs
- ThreadAttributes.cs
- FlowThrottle.cs
- HttpFileCollection.cs
- LocationSectionRecord.cs
- Comparer.cs
- ImageSource.cs
- ForEachAction.cs
- CalendarModeChangedEventArgs.cs
- CodeExporter.cs
- compensatingcollection.cs