Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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); // 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; } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlSchemaAnyAttribute.cs
- TextSerializer.cs
- WebPartMenuStyle.cs
- PasswordBox.cs
- DataGridViewRowCollection.cs
- CommentGlyph.cs
- Camera.cs
- JoinGraph.cs
- TypeToTreeConverter.cs
- Int16.cs
- MultiBinding.cs
- PageCodeDomTreeGenerator.cs
- SurrogateEncoder.cs
- BooleanAnimationBase.cs
- TypeTypeConverter.cs
- Monitor.cs
- XmlSchemaAnnotated.cs
- OrderByBuilder.cs
- Parameter.cs
- SettingsBase.cs
- SelectionWordBreaker.cs
- MsmqInputMessagePool.cs
- XmlILModule.cs
- ConfigurationSettings.cs
- PropertyItemInternal.cs
- SortableBindingList.cs
- XmlSchemaSimpleType.cs
- EntityProviderFactory.cs
- ControlPropertyNameConverter.cs
- TextChangedEventArgs.cs
- PinnedBufferMemoryStream.cs
- WebPartDisplayModeCollection.cs
- FragmentQueryProcessor.cs
- CounterSampleCalculator.cs
- Serialization.cs
- GregorianCalendarHelper.cs
- MimePart.cs
- UIElement.cs
- DataSourceSelectArguments.cs
- ListParaClient.cs
- VarInfo.cs
- CodeTypeMemberCollection.cs
- InvokeWebServiceDesigner.cs
- GPRECT.cs
- UnaryQueryOperator.cs
- RegexWorker.cs
- ProtocolReflector.cs
- WindowsListView.cs
- SmtpTransport.cs
- WizardStepCollectionEditor.cs
- ByeMessage11.cs
- WrapperSecurityCommunicationObject.cs
- CheckBox.cs
- ZoneLinkButton.cs
- ColorTranslator.cs
- IPPacketInformation.cs
- NodeCounter.cs
- EditorPartChrome.cs
- SelectionRange.cs
- Pair.cs
- TextRangeEdit.cs
- VolatileEnlistmentState.cs
- AvTraceDetails.cs
- MsmqMessage.cs
- ChangeBlockUndoRecord.cs
- NullableDecimalAverageAggregationOperator.cs
- Listbox.cs
- PathBox.cs
- AttributeSetAction.cs
- AdapterUtil.cs
- HeaderUtility.cs
- CodeTypeMemberCollection.cs
- XmlSchemaDatatype.cs
- XPathSingletonIterator.cs
- AlternateViewCollection.cs
- NativeMethods.cs
- InputBuffer.cs
- Point3D.cs
- ComplexTypeEmitter.cs
- IdentityReference.cs
- DispatcherFrame.cs
- DataReceivedEventArgs.cs
- securitymgrsite.cs
- FindSimilarActivitiesVerb.cs
- XsdCachingReader.cs
- OuterGlowBitmapEffect.cs
- Encoding.cs
- Hashtable.cs
- ByteKeyFrameCollection.cs
- ProfileBuildProvider.cs
- TextModifier.cs
- SQLInt16Storage.cs
- remotingproxy.cs
- WebPartEditVerb.cs
- ObjectListDataBindEventArgs.cs
- SessionPageStatePersister.cs
- KeyNotFoundException.cs
- MessageContractImporter.cs
- SerializationInfo.cs
- WebHttpBindingCollectionElement.cs