Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / Configuration / ProtocolsConfiguration.cs / 4 / 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
- Lock.cs
- BuilderInfo.cs
- UserControlBuildProvider.cs
- TextStore.cs
- ThousandthOfEmRealPoints.cs
- RegexCompiler.cs
- _NestedSingleAsyncResult.cs
- InstalledFontCollection.cs
- _SslSessionsCache.cs
- DateTimeConverter2.cs
- Button.cs
- InputMethodStateTypeInfo.cs
- AdjustableArrowCap.cs
- MapPathBasedVirtualPathProvider.cs
- PropertyGridEditorPart.cs
- VisualStyleTypesAndProperties.cs
- ScriptBehaviorDescriptor.cs
- TextHidden.cs
- validationstate.cs
- ComponentCache.cs
- GestureRecognizer.cs
- Bitmap.cs
- MsdtcWrapper.cs
- BindingMAnagerBase.cs
- DirtyTextRange.cs
- ValueOfAction.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- PropertyIdentifier.cs
- AppSettingsReader.cs
- TypeBuilderInstantiation.cs
- WSHttpBindingBase.cs
- SortExpressionBuilder.cs
- StyleTypedPropertyAttribute.cs
- DataViewListener.cs
- XmlProcessingInstruction.cs
- AQNBuilder.cs
- EventRecord.cs
- ResourcePart.cs
- IteratorDescriptor.cs
- Style.cs
- TableLayoutStyle.cs
- RoleService.cs
- DynamicDataManager.cs
- CharacterMetricsDictionary.cs
- ArcSegment.cs
- Panel.cs
- FileSecurity.cs
- URL.cs
- NameScopePropertyAttribute.cs
- Opcode.cs
- DataGridViewCellConverter.cs
- TypeValidationEventArgs.cs
- SequenceDesigner.xaml.cs
- TextEditorTyping.cs
- TransactionProtocolConverter.cs
- HideDisabledControlAdapter.cs
- ThreadExceptionEvent.cs
- PnrpPeerResolver.cs
- FontEmbeddingManager.cs
- NonValidatingSecurityTokenAuthenticator.cs
- DecimalKeyFrameCollection.cs
- ProxyManager.cs
- GradientStopCollection.cs
- AsyncCodeActivity.cs
- PartialCachingAttribute.cs
- Win32PrintDialog.cs
- StatusBarPanelClickEvent.cs
- RowCache.cs
- ItemsControlAutomationPeer.cs
- RequestResizeEvent.cs
- DataKey.cs
- MessageQueueKey.cs
- MachineKeySection.cs
- XomlCompilerParameters.cs
- RtfNavigator.cs
- VisualBasicHelper.cs
- TypeUtils.cs
- VariableQuery.cs
- CodeTypeConstructor.cs
- MultiSelector.cs
- ScriptRef.cs
- DataGridBoundColumn.cs
- ColumnProvider.cs
- TableItemPatternIdentifiers.cs
- TableItemStyle.cs
- ResXResourceSet.cs
- _RequestCacheProtocol.cs
- DataGridViewSelectedCellCollection.cs
- NotFiniteNumberException.cs
- CodeArrayIndexerExpression.cs
- TemplateControlBuildProvider.cs
- TaskScheduler.cs
- TextPattern.cs
- EmptyImpersonationContext.cs
- QueryStack.cs
- UrlMappingsModule.cs
- StdValidatorsAndConverters.cs
- RegexGroupCollection.cs
- ColorInterpolationModeValidation.cs
- PathGeometry.cs