Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ // // 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
- CodeTypeMemberCollection.cs
- DeferredReference.cs
- SkinBuilder.cs
- DataObjectSettingDataEventArgs.cs
- RemotingServices.cs
- HwndMouseInputProvider.cs
- AuthenticationConfig.cs
- XComponentModel.cs
- AnnotationResource.cs
- DocumentGridPage.cs
- DataObjectSettingDataEventArgs.cs
- CollectionViewProxy.cs
- UnsafeNativeMethods.cs
- Parsers.cs
- PublisherMembershipCondition.cs
- TransformValueSerializer.cs
- SerializationException.cs
- TextProviderWrapper.cs
- TimelineClockCollection.cs
- AppearanceEditorPart.cs
- EventLogException.cs
- WorkflowDataContext.cs
- DataView.cs
- IDReferencePropertyAttribute.cs
- EnumerableCollectionView.cs
- NameSpaceExtractor.cs
- HttpCachePolicyWrapper.cs
- ThousandthOfEmRealPoints.cs
- SiteMapDataSource.cs
- KeyboardNavigation.cs
- CompositeDuplexBindingElementImporter.cs
- DataMisalignedException.cs
- ResXResourceWriter.cs
- WmlValidatorAdapter.cs
- RegexCompiler.cs
- CompositeDataBoundControl.cs
- ContextProperty.cs
- BeginStoryboard.cs
- OlePropertyStructs.cs
- TypeNameParser.cs
- RowUpdatedEventArgs.cs
- CodeCommentStatement.cs
- LinkButton.cs
- LocalValueEnumerator.cs
- CompositeFontInfo.cs
- WebColorConverter.cs
- EntityRecordInfo.cs
- PersianCalendar.cs
- WebSysDescriptionAttribute.cs
- CompilationSection.cs
- WebPartEventArgs.cs
- Selection.cs
- ConnectionPoolManager.cs
- XhtmlConformanceSection.cs
- BamlRecordReader.cs
- BamlTreeMap.cs
- MultiDataTrigger.cs
- MultiViewDesigner.cs
- ExpressionPrefixAttribute.cs
- ComboBox.cs
- RequestSecurityTokenResponse.cs
- PtsHost.cs
- XmlSerializerAssemblyAttribute.cs
- XmlSchemaIdentityConstraint.cs
- AncestorChangedEventArgs.cs
- SettingsPropertyIsReadOnlyException.cs
- EnumMember.cs
- BitmapSource.cs
- ModifyActivitiesPropertyDescriptor.cs
- BinaryObjectInfo.cs
- SharedPersonalizationStateInfo.cs
- SafeArrayTypeMismatchException.cs
- UserNameSecurityToken.cs
- LoadedOrUnloadedOperation.cs
- RegexRunnerFactory.cs
- SuppressMessageAttribute.cs
- DateTimeFormatInfo.cs
- DataSourceControl.cs
- ClipboardProcessor.cs
- HttpCachePolicy.cs
- PublisherMembershipCondition.cs
- ForEach.cs
- Image.cs
- OracleCommandBuilder.cs
- KerberosReceiverSecurityToken.cs
- BamlCollectionHolder.cs
- AsyncWaitHandle.cs
- DirectoryNotFoundException.cs
- SessionStateSection.cs
- CodeAccessPermission.cs
- OleDbDataAdapter.cs
- DataComponentMethodGenerator.cs
- SendParametersContent.cs
- IteratorFilter.cs
- InstancePersistenceCommand.cs
- Fx.cs
- WebSysDisplayNameAttribute.cs
- OlePropertyStructs.cs
- HwndPanningFeedback.cs
- GraphicsPathIterator.cs