Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Configuration / HttpModuleAction.cs / 3 / HttpModuleAction.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System; using System.Xml; using System.Configuration; using System.Collections.Specialized; using System.Collections; using System.IO; using System.Text; using System.Web.Configuration; using System.Web.Configuration.Common; using System.Web.Util; using System.Globalization; using System.Security.Permissions; [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class HttpModuleAction : ConfigurationElement { private static readonly ConfigurationElementProperty s_elemProperty = new ConfigurationElementProperty(new CallbackValidator(typeof(HttpModuleAction), Validate)); private static ConfigurationPropertyCollection _properties; private static readonly ConfigurationProperty _propName = new ConfigurationProperty("name", typeof(string), null, null, StdValidatorsAndConverters.NonEmptyStringValidator, ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey); private static readonly ConfigurationProperty _propType = new ConfigurationProperty("type", typeof(string), String.Empty, ConfigurationPropertyOptions.IsRequired); private ModulesEntry _modualEntry; static HttpModuleAction() { // Property initialization _properties = new ConfigurationPropertyCollection(); _properties.Add(_propName); _properties.Add(_propType); } internal HttpModuleAction() { } public HttpModuleAction(String name, String type) : this() { Name = name; Type = type; _modualEntry = null; } internal string Key { get { return Name; } } protected override ConfigurationPropertyCollection Properties { get { return _properties; } } [ConfigurationProperty("name", IsRequired = true, IsKey = true, DefaultValue = "")] [StringValidator(MinLength = 1)] public string Name { get { return (string)base[_propName]; } set { base[_propName] = value; } } [ConfigurationProperty("type", IsRequired = true, DefaultValue = "")] public string Type { get { return (string)base[_propType]; } set { base[_propType] = value; } } internal string FileName { get { return ElementInformation.Properties["name"].Source; } } internal int LineNumber { get { return ElementInformation.Properties["name"].LineNumber; } } internal ModulesEntry Entry { get { try { if (_modualEntry == null) { _modualEntry = new ModulesEntry(Name, Type, _propType.Name, this); } return _modualEntry; } catch (Exception ex) { throw new ConfigurationErrorsException(ex.Message, ElementInformation.Properties[_propType.Name].Source, ElementInformation.Properties[_propType.Name].LineNumber); } } } internal static bool IsSpecialModule(String className) { return ModulesEntry.IsTypeMatch(typeof(System.Web.Security.DefaultAuthenticationModule), className); } internal static bool IsSpecialModuleName(String name) { return (StringUtil.EqualsIgnoreCase(name, "DefaultAuthentication")); } protected override ConfigurationElementProperty ElementProperty { get { return s_elemProperty; } } private static void Validate(object value) { if (value == null) { throw new ArgumentNullException("httpModule"); } HttpModuleAction elem = (HttpModuleAction)value; if (HttpModuleAction.IsSpecialModule(elem.Type)) { throw new ConfigurationErrorsException( SR.GetString(SR.Special_module_cannot_be_added_manually, elem.Type), elem.ElementInformation.Properties["type"].Source, elem.ElementInformation.Properties["type"].LineNumber); } if (HttpModuleAction.IsSpecialModuleName(elem.Name)) { throw new ConfigurationErrorsException( SR.GetString(SR.Special_module_cannot_be_added_manually, elem.Name), elem.ElementInformation.Properties["name"].Source, elem.ElementInformation.Properties["name"].LineNumber); } } } // class HttpModule }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HandlerBase.cs
- CatalogPartChrome.cs
- Empty.cs
- ActivityCodeGenerator.cs
- ListBox.cs
- Comparer.cs
- MenuCommand.cs
- InputReport.cs
- SrgsSemanticInterpretationTag.cs
- XmlNamespaceManager.cs
- TextBoxBase.cs
- TextEffectResolver.cs
- ControlAdapter.cs
- ScrollableControl.cs
- DbConnectionOptions.cs
- NotFiniteNumberException.cs
- SafeThreadHandle.cs
- GetIsBrowserClientRequest.cs
- StickyNote.cs
- ViewEventArgs.cs
- WebResponse.cs
- NavigationExpr.cs
- BindingExpressionUncommonField.cs
- RoleProviderPrincipal.cs
- DBConnectionString.cs
- SrgsRulesCollection.cs
- LassoSelectionBehavior.cs
- AttributeAction.cs
- WsdlParser.cs
- ImmComposition.cs
- TextControlDesigner.cs
- RowsCopiedEventArgs.cs
- TimeoutValidationAttribute.cs
- WebPartConnectVerb.cs
- keycontainerpermission.cs
- PageEventArgs.cs
- xamlnodes.cs
- FileRecordSequenceHelper.cs
- GetWinFXPath.cs
- JoinElimination.cs
- SafeMILHandle.cs
- WebPartsPersonalization.cs
- Latin1Encoding.cs
- XmlMembersMapping.cs
- MenuItemAutomationPeer.cs
- StreamedWorkflowDefinitionContext.cs
- EntityCommandCompilationException.cs
- CqlParserHelpers.cs
- CompositeFontFamily.cs
- ExternalDataExchangeService.cs
- CheckPair.cs
- LabelDesigner.cs
- MemoryRecordBuffer.cs
- MessagingActivityHelper.cs
- PocoPropertyAccessorStrategy.cs
- DefaultSerializationProviderAttribute.cs
- SqlWebEventProvider.cs
- UrlAuthorizationModule.cs
- DependsOnAttribute.cs
- HandlerWithFactory.cs
- TypeInitializationException.cs
- NavigationExpr.cs
- RequestQueryProcessor.cs
- TraceInternal.cs
- NullableBoolConverter.cs
- HttpListenerException.cs
- BoolExpressionVisitors.cs
- ToolboxItemAttribute.cs
- NoneExcludedImageIndexConverter.cs
- InvalidFilterCriteriaException.cs
- XmlnsPrefixAttribute.cs
- GroupBoxAutomationPeer.cs
- ActiveXSite.cs
- Transform3DGroup.cs
- XmlChoiceIdentifierAttribute.cs
- SoapAttributeOverrides.cs
- MsmqIntegrationMessagePool.cs
- AggregateNode.cs
- WebPartEditorApplyVerb.cs
- HierarchicalDataTemplate.cs
- SqlDataSourceStatusEventArgs.cs
- XmlNamedNodeMap.cs
- SQLMembershipProvider.cs
- SiteMapNodeItem.cs
- BrowserDefinitionCollection.cs
- DesignerProperties.cs
- InfoCardSymmetricCrypto.cs
- MergeExecutor.cs
- RIPEMD160Managed.cs
- nulltextnavigator.cs
- ListView.cs
- PenLineCapValidation.cs
- CodeNamespaceImport.cs
- TextSimpleMarkerProperties.cs
- QueryOutputWriter.cs
- PathFigureCollectionConverter.cs
- AttachmentService.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- ParameterModifier.cs
- ScopedKnownTypes.cs