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;
// process elements
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
- XmlComment.cs
- BypassElement.cs
- DataGridViewControlCollection.cs
- PassportAuthentication.cs
- OleDbParameter.cs
- PointF.cs
- TriggerActionCollection.cs
- IconHelper.cs
- TriState.cs
- XmlLanguage.cs
- SearchForVirtualItemEventArgs.cs
- ConstantCheck.cs
- UnionCodeGroup.cs
- ReadOnlyHierarchicalDataSource.cs
- CssClassPropertyAttribute.cs
- ContainerVisual.cs
- CookielessHelper.cs
- InvokePattern.cs
- MarshalByValueComponent.cs
- ZipIOExtraFieldZip64Element.cs
- Int32KeyFrameCollection.cs
- HttpHandlersSection.cs
- TimeSpan.cs
- ArgumentValue.cs
- ValidationService.cs
- Renderer.cs
- XmlCDATASection.cs
- ipaddressinformationcollection.cs
- BlockUIContainer.cs
- CollectionViewProxy.cs
- ObjectListItem.cs
- AssertFilter.cs
- PackageDigitalSignatureManager.cs
- ProcessHostFactoryHelper.cs
- DocComment.cs
- SqlBinder.cs
- EventManager.cs
- DependencyPropertyDescriptor.cs
- FtpWebRequest.cs
- TimelineCollection.cs
- ActivityDesignerAccessibleObject.cs
- StandardTransformFactory.cs
- CheckoutException.cs
- VolatileResourceManager.cs
- FillBehavior.cs
- PrintPageEvent.cs
- DisableDpiAwarenessAttribute.cs
- TextMarkerSource.cs
- HashAlgorithm.cs
- IntellisenseTextBox.designer.cs
- ProcessManager.cs
- ScopedKnownTypes.cs
- ColorPalette.cs
- CommandPlan.cs
- InternalRelationshipCollection.cs
- SessionStateModule.cs
- DbDataAdapter.cs
- ReflectionPermission.cs
- DbConnectionClosed.cs
- TemplateInstanceAttribute.cs
- ElementAtQueryOperator.cs
- FontEditor.cs
- DataGridAddNewRow.cs
- KeyGestureConverter.cs
- ConfigsHelper.cs
- TextElementCollectionHelper.cs
- DataGridViewRow.cs
- BamlResourceDeserializer.cs
- CallbackCorrelationInitializer.cs
- OptimizerPatterns.cs
- AuthStoreRoleProvider.cs
- Win32PrintDialog.cs
- COM2ExtendedUITypeEditor.cs
- AlphabetConverter.cs
- DoubleAnimationClockResource.cs
- MouseActionConverter.cs
- SizeChangedInfo.cs
- WebServiceClientProxyGenerator.cs
- DropAnimation.xaml.cs
- MonthChangedEventArgs.cs
- AdRotator.cs
- NestPullup.cs
- Merger.cs
- SmtpReplyReaderFactory.cs
- CalendarDay.cs
- WeakReference.cs
- wmiprovider.cs
- Latin1Encoding.cs
- StringConverter.cs
- ContentIterators.cs
- Margins.cs
- XmlDocumentType.cs
- CustomAttributeFormatException.cs
- MetadataItem.cs
- SqlMethodTransformer.cs
- TdsParserStaticMethods.cs
- ClientType.cs
- DesignerProperties.cs
- XmlEncoding.cs
- SettingsPropertyIsReadOnlyException.cs