Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / 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); // /* 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. //------------------------------------------------------------------------------ // // 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); // /* 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StandardOleMarshalObject.cs
- QueuePathDialog.cs
- DrawingAttributesDefaultValueFactory.cs
- BadImageFormatException.cs
- RepeatInfo.cs
- ComponentFactoryHelpers.cs
- ConfigurationManagerHelper.cs
- ListViewGroupConverter.cs
- PrinterUnitConvert.cs
- RootBrowserWindowProxy.cs
- TraceInternal.cs
- FileDataSourceCache.cs
- RequestQueryParser.cs
- ClientRolePrincipal.cs
- XPathArrayIterator.cs
- ThreadPool.cs
- XsdDuration.cs
- Crypto.cs
- QilUnary.cs
- ExpressionEditorAttribute.cs
- ThicknessAnimationBase.cs
- RenderOptions.cs
- SimpleWebHandlerParser.cs
- StrokeRenderer.cs
- TokenBasedSet.cs
- ILGenerator.cs
- IPAddress.cs
- hresults.cs
- BatchWriter.cs
- Vector3D.cs
- UdpSocketReceiveManager.cs
- BitmapInitialize.cs
- ObjectDataSourceEventArgs.cs
- ToolStripTextBox.cs
- ActivationArguments.cs
- GenericPrincipal.cs
- AppDomainCompilerProxy.cs
- RequiredFieldValidator.cs
- QuaternionValueSerializer.cs
- UpDownBase.cs
- FormatSettings.cs
- MeshGeometry3D.cs
- OracleBinary.cs
- ControlLocalizer.cs
- RtfToXamlLexer.cs
- XmlCodeExporter.cs
- InlineUIContainer.cs
- UnsafeNativeMethods.cs
- BaseDataBoundControl.cs
- IPAddress.cs
- GetPageCompletedEventArgs.cs
- ModulesEntry.cs
- DataGridHeaderBorder.cs
- DisableDpiAwarenessAttribute.cs
- Figure.cs
- SetterBase.cs
- MultiAsyncResult.cs
- WindowsPen.cs
- XmlTypeAttribute.cs
- WindowsSpinner.cs
- SqlBuffer.cs
- SortDescriptionCollection.cs
- IisTraceWebEventProvider.cs
- CompositeFontParser.cs
- BatchParser.cs
- BinaryWriter.cs
- ConfigurationValidatorAttribute.cs
- Marshal.cs
- InvalidWorkflowException.cs
- Quaternion.cs
- DesignerOptionService.cs
- EpmHelper.cs
- ConstraintManager.cs
- WsdlHelpGeneratorElement.cs
- SQLBinary.cs
- MergeExecutor.cs
- ResourceDisplayNameAttribute.cs
- FrameworkPropertyMetadata.cs
- WindowInteractionStateTracker.cs
- BufferBuilder.cs
- OverflowException.cs
- Assert.cs
- InfoCardXmlSerializer.cs
- DynamicResourceExtension.cs
- XmlDocumentType.cs
- HwndSourceKeyboardInputSite.cs
- DataGridPageChangedEventArgs.cs
- TypefaceMetricsCache.cs
- EntityDataSourceContainerNameItem.cs
- GetBrowserTokenRequest.cs
- SoapTypeAttribute.cs
- SubtreeProcessor.cs
- FontFaceLayoutInfo.cs
- ClientSettingsStore.cs
- EventRouteFactory.cs
- BeginSelectCardRequest.cs
- SqlGatherProducedAliases.cs
- TransactionManager.cs
- Propagator.Evaluator.cs
- UnsafeNativeMethods.cs