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
- HijriCalendar.cs
- NestPullup.cs
- FontSourceCollection.cs
- MetadataArtifactLoaderFile.cs
- FontFamily.cs
- GetPageNumberCompletedEventArgs.cs
- ResolvedKeyFrameEntry.cs
- FigureParaClient.cs
- CompModSwitches.cs
- TextCollapsingProperties.cs
- UseLicense.cs
- EdmValidator.cs
- TransformValueSerializer.cs
- BrowsableAttribute.cs
- ToolStrip.cs
- DescendantBaseQuery.cs
- HttpBufferlessInputStream.cs
- Rotation3D.cs
- TransformerInfoCollection.cs
- PermissionListSet.cs
- BuildProvidersCompiler.cs
- LockCookie.cs
- UniqueIdentifierService.cs
- GroupBoxAutomationPeer.cs
- GlyphsSerializer.cs
- GridViewRowEventArgs.cs
- ReadWriteObjectLock.cs
- SqlConnectionString.cs
- Publisher.cs
- Decoder.cs
- ClockController.cs
- CommonProperties.cs
- BaseValidator.cs
- ProgressBar.cs
- webproxy.cs
- CustomCategoryAttribute.cs
- EntityDescriptor.cs
- WebPartCollection.cs
- SessionPageStatePersister.cs
- ProxyManager.cs
- TimeManager.cs
- TypeInfo.cs
- TreeNodeBinding.cs
- SortedList.cs
- DependencyObjectProvider.cs
- NullExtension.cs
- RuntimeCompatibilityAttribute.cs
- ReadOnlyKeyedCollection.cs
- PointAnimationUsingKeyFrames.cs
- ColumnMap.cs
- SaveCardRequest.cs
- ObsoleteAttribute.cs
- HMACSHA1.cs
- HwndSourceKeyboardInputSite.cs
- EmissiveMaterial.cs
- LambdaCompiler.Address.cs
- PeerNameResolver.cs
- ColumnMapProcessor.cs
- GroupBox.cs
- DataGridState.cs
- DPCustomTypeDescriptor.cs
- HttpModulesSection.cs
- SystemIPInterfaceStatistics.cs
- InvalidFilterCriteriaException.cs
- RequestSecurityTokenResponse.cs
- MenuRendererStandards.cs
- QueryConverter.cs
- XmlSchema.cs
- Point.cs
- Decimal.cs
- RealProxy.cs
- SchemaManager.cs
- Options.cs
- XPathDocument.cs
- DbConnectionPoolIdentity.cs
- PasswordTextNavigator.cs
- SiblingIterators.cs
- EntityReference.cs
- EnumUnknown.cs
- TreeBuilderBamlTranslator.cs
- ObjectSecurity.cs
- BindingFormattingDialog.cs
- SelectionEditingBehavior.cs
- ToolStripDesignerAvailabilityAttribute.cs
- IOException.cs
- AssemblyBuilder.cs
- AnnotationResourceChangedEventArgs.cs
- ThreadSafeList.cs
- mactripleDES.cs
- ScrollProviderWrapper.cs
- EndpointNotFoundException.cs
- XmlMembersMapping.cs
- VectorCollectionValueSerializer.cs
- WebReferencesBuildProvider.cs
- AuthenticationManager.cs
- TextParagraphCache.cs
- WebPartMinimizeVerb.cs
- UrlUtility.cs
- StringArrayConverter.cs
- XmlNamespaceMappingCollection.cs