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
- XPathExpr.cs
- QuinticEase.cs
- ThousandthOfEmRealDoubles.cs
- Parser.cs
- ImageBrush.cs
- MediaScriptCommandRoutedEventArgs.cs
- PeerInvitationResponse.cs
- ProgressBarHighlightConverter.cs
- DataGridCellsPanel.cs
- ProcessHostServerConfig.cs
- LocalValueEnumerator.cs
- SafeRightsManagementQueryHandle.cs
- SparseMemoryStream.cs
- KnownIds.cs
- DataList.cs
- PropertiesTab.cs
- NameTable.cs
- EntityContainerEntitySetDefiningQuery.cs
- HandlerWithFactory.cs
- SingleKeyFrameCollection.cs
- DefaultValueConverter.cs
- connectionpool.cs
- XsdBuildProvider.cs
- iisPickupDirectory.cs
- WebPartDescription.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- FileLogRecord.cs
- ThrowHelper.cs
- SecurityManager.cs
- DataGridViewElement.cs
- BrowserCapabilitiesFactory.cs
- BeginEvent.cs
- SamlAssertionDirectKeyIdentifierClause.cs
- DataGridViewCellStateChangedEventArgs.cs
- Pens.cs
- LocalizabilityAttribute.cs
- WindowPattern.cs
- WorkflowDesignerColors.cs
- Padding.cs
- DocumentViewer.cs
- EventLogPermissionEntry.cs
- MenuEventArgs.cs
- CachedPathData.cs
- BamlRecordHelper.cs
- TypeConstant.cs
- SqlRowUpdatingEvent.cs
- ScrollPatternIdentifiers.cs
- AudioFormatConverter.cs
- SafeEventLogWriteHandle.cs
- CachedPathData.cs
- BuilderPropertyEntry.cs
- StrongNamePublicKeyBlob.cs
- DeferredSelectedIndexReference.cs
- DataControlPagerLinkButton.cs
- QilInvokeEarlyBound.cs
- DrawingDrawingContext.cs
- ConstructorNeedsTagAttribute.cs
- PersianCalendar.cs
- XmlWriterTraceListener.cs
- StyleSheetDesigner.cs
- PerformanceCounterLib.cs
- TransformedBitmap.cs
- WebExceptionStatus.cs
- Guid.cs
- ToolTipAutomationPeer.cs
- PointLightBase.cs
- DataControlFieldHeaderCell.cs
- Utility.cs
- QilPatternVisitor.cs
- GridViewItemAutomationPeer.cs
- EntityDataSourceSelectedEventArgs.cs
- FacetValueContainer.cs
- DataSourceView.cs
- RemotingService.cs
- ObjectDataSource.cs
- PerfCounterSection.cs
- EmptyEnumerator.cs
- Char.cs
- XmlSchemaParticle.cs
- LinqTreeNodeEvaluator.cs
- LogicalExpr.cs
- FileDialogCustomPlacesCollection.cs
- StylusOverProperty.cs
- IsolatedStoragePermission.cs
- DivideByZeroException.cs
- CngUIPolicy.cs
- DrawingContext.cs
- WebPartExportVerb.cs
- controlskin.cs
- XsdDataContractExporter.cs
- WebResourceAttribute.cs
- SamlDoNotCacheCondition.cs
- MemberJoinTreeNode.cs
- DataSourceControlBuilder.cs
- PropertyInformationCollection.cs
- MeshGeometry3D.cs
- ItemDragEvent.cs
- DataGridAddNewRow.cs
- AdornerHitTestResult.cs
- BrowserDefinitionCollection.cs