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
- DataGridViewAutoSizeColumnModeEventArgs.cs
- DrawingContext.cs
- SqlRemoveConstantOrderBy.cs
- Stylesheet.cs
- TextEditorTyping.cs
- GeneralEndpointIdentity.cs
- ISessionStateStore.cs
- XmlReaderSettings.cs
- SQLDouble.cs
- ArrayExtension.cs
- CompilationLock.cs
- FamilyTypefaceCollection.cs
- Models.cs
- WSDualHttpBinding.cs
- PeerObject.cs
- DisplayNameAttribute.cs
- WebPartConnectionCollection.cs
- DataSourceComponent.cs
- HostingEnvironmentException.cs
- Events.cs
- UnsupportedPolicyOptionsException.cs
- WebPartMinimizeVerb.cs
- ConstNode.cs
- TableDetailsCollection.cs
- ObjectPersistData.cs
- KeyEventArgs.cs
- SqlResolver.cs
- Material.cs
- HtmlInputButton.cs
- PartBasedPackageProperties.cs
- BindingContext.cs
- UpdatePanel.cs
- FilterElement.cs
- Aggregates.cs
- CommandValueSerializer.cs
- HtmlInputControl.cs
- PageThemeBuildProvider.cs
- TextDecorationLocationValidation.cs
- RadioButtonAutomationPeer.cs
- Effect.cs
- regiisutil.cs
- _emptywebproxy.cs
- BamlLocalizableResourceKey.cs
- PersonalizableAttribute.cs
- ServiceDesigner.cs
- WindowsBrush.cs
- GenericsNotImplementedException.cs
- RuntimeWrappedException.cs
- MachineKeySection.cs
- ParseElementCollection.cs
- CustomAttributeBuilder.cs
- ToolStripPanelRow.cs
- Operator.cs
- ProfileModule.cs
- FormViewPagerRow.cs
- XPathArrayIterator.cs
- CheckoutException.cs
- InternalPolicyElement.cs
- BinaryObjectWriter.cs
- ServicesUtilities.cs
- BulletDecorator.cs
- Form.cs
- TrimSurroundingWhitespaceAttribute.cs
- xdrvalidator.cs
- DataGridViewColumnCollection.cs
- Asn1IntegerConverter.cs
- HttpStreamMessage.cs
- RawTextInputReport.cs
- WindowsGraphics.cs
- AutomationTextAttribute.cs
- RemoteWebConfigurationHost.cs
- FrameworkTemplate.cs
- ImpersonationContext.cs
- NullableLongAverageAggregationOperator.cs
- CookieProtection.cs
- ScriptResourceAttribute.cs
- DataBindingCollectionConverter.cs
- ConvertTextFrag.cs
- ResourceContainer.cs
- WebCategoryAttribute.cs
- EpmCustomContentDeSerializer.cs
- CompModHelpers.cs
- GrammarBuilderDictation.cs
- DelegateArgumentReference.cs
- TaskExtensions.cs
- SoapRpcServiceAttribute.cs
- DataGridColumnHeaderCollection.cs
- SqlSupersetValidator.cs
- NodeLabelEditEvent.cs
- AsnEncodedData.cs
- X509Certificate2.cs
- SchemaElementDecl.cs
- XmlReader.cs
- AutoResizedEvent.cs
- serverconfig.cs
- Certificate.cs
- HandleValueEditor.cs
- SiteMembershipCondition.cs
- StringResourceManager.cs
- XmlSigningNodeWriter.cs