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
- CultureSpecificStringDictionary.cs
- ParallelQuery.cs
- _emptywebproxy.cs
- ControlValuePropertyAttribute.cs
- XmlNotation.cs
- MethodCallConverter.cs
- ImmutableObjectAttribute.cs
- TextChangedEventArgs.cs
- Win32PrintDialog.cs
- IntSecurity.cs
- ApplicationBuildProvider.cs
- ResXBuildProvider.cs
- WebControl.cs
- BitmapFrameDecode.cs
- OdbcConnectionHandle.cs
- GCHandleCookieTable.cs
- CompilerErrorCollection.cs
- WSSecureConversationFeb2005.cs
- MetadataLocation.cs
- FlowDocumentFormatter.cs
- PageThemeBuildProvider.cs
- Timer.cs
- MenuTracker.cs
- TransformationRules.cs
- CollectionBase.cs
- SqlDependencyListener.cs
- DataRowComparer.cs
- SystemWebSectionGroup.cs
- SafeEventLogWriteHandle.cs
- CursorConverter.cs
- ApplicationId.cs
- XmlSerializerNamespaces.cs
- RoutedEvent.cs
- bindurihelper.cs
- SqlReorderer.cs
- AnonymousIdentificationSection.cs
- TextRangeEdit.cs
- WriteableOnDemandPackagePart.cs
- TraceUtils.cs
- Guid.cs
- FixedPageProcessor.cs
- RubberbandSelector.cs
- IpcPort.cs
- VersionConverter.cs
- GeneralTransform.cs
- ContainsRowNumberChecker.cs
- OptimalTextSource.cs
- AllMembershipCondition.cs
- FloaterParaClient.cs
- ProgressPage.cs
- HitTestResult.cs
- PermissionSetEnumerator.cs
- LinearKeyFrames.cs
- AssertSection.cs
- SupportedAddressingMode.cs
- SchemaImporterExtensionsSection.cs
- ConfigurationLocationCollection.cs
- MULTI_QI.cs
- ContactManager.cs
- AsyncStreamReader.cs
- UserNameSecurityToken.cs
- XamlReaderHelper.cs
- SystemWebExtensionsSectionGroup.cs
- SqlErrorCollection.cs
- UncommonField.cs
- FormViewInsertedEventArgs.cs
- TextTreeInsertElementUndoUnit.cs
- TypeConverter.cs
- WeakReferenceKey.cs
- _RequestCacheProtocol.cs
- UIElement.cs
- Parser.cs
- Switch.cs
- DataSourceIDConverter.cs
- DummyDataSource.cs
- CookieHandler.cs
- XsdSchemaFileEditor.cs
- SizeAnimationUsingKeyFrames.cs
- XmlElement.cs
- HttpsHostedTransportConfiguration.cs
- TableParaClient.cs
- FormViewUpdatedEventArgs.cs
- ConnectionManager.cs
- SoapTransportImporter.cs
- DataGridSortCommandEventArgs.cs
- IPGlobalProperties.cs
- SourceSwitch.cs
- UpWmlMobileTextWriter.cs
- SelectionEditor.cs
- WindowsScroll.cs
- DataColumn.cs
- HtmlInputText.cs
- WebBaseEventKeyComparer.cs
- VisualBrush.cs
- WorkflowPersistenceService.cs
- VisualStyleInformation.cs
- AxParameterData.cs
- LineGeometry.cs
- CompilerLocalReference.cs
- TableSectionStyle.cs