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
- CodeObject.cs
- IDReferencePropertyAttribute.cs
- PrimitiveSchema.cs
- DoubleAnimationClockResource.cs
- JsonWriterDelegator.cs
- SafeSecurityHelper.cs
- Scene3D.cs
- ContentType.cs
- ControlParameter.cs
- JulianCalendar.cs
- SqlFunctionAttribute.cs
- ManagementObject.cs
- IISUnsafeMethods.cs
- HtmlInputPassword.cs
- BooleanSwitch.cs
- WindowsTooltip.cs
- ToolStripOverflowButton.cs
- TreeViewImageGenerator.cs
- MailMessageEventArgs.cs
- JsonEncodingStreamWrapper.cs
- DbgUtil.cs
- WinEventWrap.cs
- SspiNegotiationTokenProvider.cs
- GeneratedCodeAttribute.cs
- ByteBufferPool.cs
- StateMachineWorkflowInstance.cs
- ProfileGroupSettings.cs
- ManualResetEvent.cs
- ProgressChangedEventArgs.cs
- UrlMappingsModule.cs
- BaseWebProxyFinder.cs
- XmlNamespaceDeclarationsAttribute.cs
- PointValueSerializer.cs
- FunctionCommandText.cs
- SafeHandles.cs
- XamlBuildProvider.cs
- FlowDocumentScrollViewer.cs
- CompilerScope.cs
- CollectionBase.cs
- oledbmetadatacolumnnames.cs
- Int32CAMarshaler.cs
- SqlDataSource.cs
- XsltInput.cs
- SecurityKeyEntropyMode.cs
- AuthenticatingEventArgs.cs
- IIS7WorkerRequest.cs
- CountAggregationOperator.cs
- AppModelKnownContentFactory.cs
- ResolveMatchesApril2005.cs
- NamespaceMapping.cs
- SqlRetyper.cs
- StateBag.cs
- HitTestDrawingContextWalker.cs
- AppDomainFactory.cs
- dataprotectionpermission.cs
- FlagsAttribute.cs
- SmtpNtlmAuthenticationModule.cs
- Tracer.cs
- IDataContractSurrogate.cs
- HiddenField.cs
- MemoryStream.cs
- Size3D.cs
- SetMemberBinder.cs
- ControlParameter.cs
- AuthenticationService.cs
- COSERVERINFO.cs
- QilLoop.cs
- VirtualPath.cs
- FlowDocumentPaginator.cs
- NumberAction.cs
- EntityDataSourceEntityTypeFilterItem.cs
- ReferenceService.cs
- TypedTableBase.cs
- SqlBuilder.cs
- ExpandSegment.cs
- DataControlImageButton.cs
- CodeValidator.cs
- WebBodyFormatMessageProperty.cs
- OperationResponse.cs
- LayoutSettings.cs
- HttpRuntime.cs
- PLINQETWProvider.cs
- CommandArguments.cs
- Misc.cs
- CodeDelegateCreateExpression.cs
- SingleAnimationUsingKeyFrames.cs
- SmiMetaDataProperty.cs
- BitmapSource.cs
- ArrayConverter.cs
- CatalogPartChrome.cs
- DoubleLinkList.cs
- NonBatchDirectoryCompiler.cs
- FakeModelItemImpl.cs
- EventItfInfo.cs
- AttributeCollection.cs
- hresults.cs
- ReadOnlyDictionary.cs
- HttpCookie.cs
- WCFBuildProvider.cs
- Object.cs