Code:
/ DotNET / DotNET / 8.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
- StaticDataManager.cs
- ValidationRule.cs
- QilFunction.cs
- ColumnWidthChangingEvent.cs
- ImageButton.cs
- ObjectFullSpanRewriter.cs
- ProcessHost.cs
- Stacktrace.cs
- XmlAttributeAttribute.cs
- QueryableFilterUserControl.cs
- ManualResetEvent.cs
- DataTemplateKey.cs
- UserControl.cs
- StaticContext.cs
- RectConverter.cs
- TypeForwardedToAttribute.cs
- DbConnectionInternal.cs
- DbConnectionPoolCounters.cs
- Rotation3DKeyFrameCollection.cs
- _DisconnectOverlappedAsyncResult.cs
- XMLUtil.cs
- Simplifier.cs
- PackUriHelper.cs
- Drawing.cs
- RequestResponse.cs
- HTMLTextWriter.cs
- CheckBoxFlatAdapter.cs
- AutoResizedEvent.cs
- PolygonHotSpot.cs
- TableLayout.cs
- WebEventTraceProvider.cs
- TypeConverterHelper.cs
- safemediahandle.cs
- ApplicationManager.cs
- InteropExecutor.cs
- AssemblyBuilder.cs
- FormParameter.cs
- TimeSpanConverter.cs
- PropertyTab.cs
- CompilerState.cs
- ObjectItemCollection.cs
- TypeBuilderInstantiation.cs
- Configuration.cs
- AbstractDataSvcMapFileLoader.cs
- DataListItem.cs
- SqlBooleanizer.cs
- XPathChildIterator.cs
- EntityDataSourceViewSchema.cs
- BrushConverter.cs
- MsmqElementBase.cs
- IISMapPath.cs
- TextSegment.cs
- LoginName.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- XmlEntityReference.cs
- TreeViewImageKeyConverter.cs
- ScriptBehaviorDescriptor.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- XmlCDATASection.cs
- Column.cs
- FrameworkContentElement.cs
- MenuItem.cs
- ShaperBuffers.cs
- ControlType.cs
- PropertyGridCommands.cs
- ControlPropertyNameConverter.cs
- Base64Decoder.cs
- PolicyDesigner.cs
- TreeNodeStyle.cs
- DataGridViewCellFormattingEventArgs.cs
- TraceLog.cs
- AccessedThroughPropertyAttribute.cs
- SafeWaitHandle.cs
- BuildProvidersCompiler.cs
- ChannelPoolSettingsElement.cs
- arclist.cs
- FormViewAutoFormat.cs
- Msec.cs
- WebPartConnectionsEventArgs.cs
- MtomMessageEncoder.cs
- Transform.cs
- SaveWorkflowCommand.cs
- ListControl.cs
- XsltQilFactory.cs
- CryptoConfig.cs
- MetadataUtil.cs
- ThemeInfoAttribute.cs
- Int32Rect.cs
- DateTimeOffset.cs
- RSAProtectedConfigurationProvider.cs
- DrawingContext.cs
- SamlAssertionKeyIdentifierClause.cs
- ShapeTypeface.cs
- SqlCaseSimplifier.cs
- DataGridViewEditingControlShowingEventArgs.cs
- ValueUnavailableException.cs
- RayMeshGeometry3DHitTestResult.cs
- AnnotationAuthorChangedEventArgs.cs
- LocalServiceSecuritySettings.cs
- ListComponentEditor.cs