Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FormsIdentity.cs
- MultilineStringConverter.cs
- QuaternionAnimation.cs
- ConstantExpression.cs
- ConstantExpression.cs
- WebPageTraceListener.cs
- IntegerCollectionEditor.cs
- XmlSchemaSimpleType.cs
- PolicyException.cs
- X509SecurityTokenAuthenticator.cs
- TargetInvocationException.cs
- XslException.cs
- FactorySettingsElement.cs
- EntryIndex.cs
- FolderNameEditor.cs
- FloaterParagraph.cs
- ColumnWidthChangingEvent.cs
- XmlKeywords.cs
- VariantWrapper.cs
- WebPartDisplayModeCollection.cs
- StateMachineAction.cs
- TypedElement.cs
- SecurityTokenProviderContainer.cs
- CodeNamespace.cs
- RequestCache.cs
- Canvas.cs
- RoleManagerModule.cs
- EventMappingSettingsCollection.cs
- DelegatingChannelListener.cs
- uribuilder.cs
- ProxyAttribute.cs
- TypeHelpers.cs
- RecognizerInfo.cs
- EditorPartCollection.cs
- Encoder.cs
- InputManager.cs
- OutgoingWebRequestContext.cs
- UserMapPath.cs
- DecimalStorage.cs
- ToolTip.cs
- DifferencingCollection.cs
- DataGridBoolColumn.cs
- DynamicQueryableWrapper.cs
- IdentityModelDictionary.cs
- FormsAuthentication.cs
- ToolboxBitmapAttribute.cs
- DESCryptoServiceProvider.cs
- NegatedCellConstant.cs
- HttpCookieCollection.cs
- UniqueIdentifierService.cs
- Compiler.cs
- BuildProviderUtils.cs
- unsafenativemethodsother.cs
- TrackingMemoryStreamFactory.cs
- TableItemPatternIdentifiers.cs
- JsonByteArrayDataContract.cs
- DataTemplate.cs
- DataSourceCache.cs
- NativeMethods.cs
- RefreshEventArgs.cs
- ArrayElementGridEntry.cs
- PrintControllerWithStatusDialog.cs
- PerformanceCounterPermission.cs
- CorrelationValidator.cs
- DataGridViewAutoSizeModeEventArgs.cs
- ResXResourceWriter.cs
- VariantWrapper.cs
- ArrayList.cs
- EntityDesignerUtils.cs
- ListSortDescriptionCollection.cs
- DataStreams.cs
- SafeFileMappingHandle.cs
- SafeSystemMetrics.cs
- PropertyConverter.cs
- FormsAuthenticationEventArgs.cs
- PrivateFontCollection.cs
- peersecurityelement.cs
- ReceiveErrorHandling.cs
- ToolTipService.cs
- Pen.cs
- GridViewRowPresenterBase.cs
- NativeMethods.cs
- CharAnimationUsingKeyFrames.cs
- Highlights.cs
- LongValidator.cs
- ListViewEditEventArgs.cs
- HttpWebResponse.cs
- EntityDataSourceDesignerHelper.cs
- IListConverters.cs
- DataGridViewAccessibleObject.cs
- FileSystemWatcher.cs
- FocusManager.cs
- WebPartCloseVerb.cs
- PathTooLongException.cs
- SqlClientFactory.cs
- ControlBuilder.cs
- Roles.cs
- ProxyWebPart.cs
- WorkflowInstanceContextProvider.cs
- SecurityCriticalDataForSet.cs