Code:
/ FX-1434 / FX-1434 / 1.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
- CalendarBlackoutDatesCollection.cs
- Viewport3DAutomationPeer.cs
- SEHException.cs
- TextParagraphProperties.cs
- RawStylusInput.cs
- EntryPointNotFoundException.cs
- VSWCFServiceContractGenerator.cs
- XmlMemberMapping.cs
- WebCodeGenerator.cs
- Row.cs
- DataIdProcessor.cs
- FileDialog.cs
- SqlConnectionStringBuilder.cs
- CharEnumerator.cs
- CriticalExceptions.cs
- SapiInterop.cs
- AlignmentYValidation.cs
- TiffBitmapDecoder.cs
- SQLGuidStorage.cs
- BooleanAnimationUsingKeyFrames.cs
- ApplicationManager.cs
- DefaultValueTypeConverter.cs
- ExtractedStateEntry.cs
- UserControlDocumentDesigner.cs
- Timer.cs
- XsdDuration.cs
- SignatureToken.cs
- ApplicationSecurityManager.cs
- SqlIdentifier.cs
- LinqDataSourceSelectEventArgs.cs
- DbDataReader.cs
- XmlSchemaDatatype.cs
- ControlParser.cs
- AsyncStreamReader.cs
- NavigationProperty.cs
- ExpanderAutomationPeer.cs
- CookieHandler.cs
- Rect.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- FontStretches.cs
- EncoderExceptionFallback.cs
- OSFeature.cs
- DataGridCaption.cs
- TextSegment.cs
- Size.cs
- ComponentEditorPage.cs
- DBDataPermission.cs
- EntityDesignerBuildProvider.cs
- HitTestFilterBehavior.cs
- Mappings.cs
- CustomDictionarySources.cs
- GPRECTF.cs
- WindowPattern.cs
- GraphicsPathIterator.cs
- RemotingServices.cs
- CollectionViewGroup.cs
- GenericEnumConverter.cs
- XmlKeywords.cs
- ErrorStyle.cs
- EventItfInfo.cs
- RecipientInfo.cs
- XamlPoint3DCollectionSerializer.cs
- TTSVoice.cs
- ExpressionParser.cs
- SessionStateModule.cs
- BitmapScalingModeValidation.cs
- Point.cs
- BooleanToVisibilityConverter.cs
- IPEndPoint.cs
- Authorization.cs
- XhtmlBasicImageAdapter.cs
- ToolZone.cs
- WebServiceResponse.cs
- UserInitiatedNavigationPermission.cs
- VisualBrush.cs
- FormClosedEvent.cs
- InkCanvasAutomationPeer.cs
- WizardPanelChangingEventArgs.cs
- ProxyGenerationError.cs
- FilteredDataSetHelper.cs
- TableItemProviderWrapper.cs
- WorkflowEventArgs.cs
- EarlyBoundInfo.cs
- SignedInfo.cs
- RectValueSerializer.cs
- ObjectConverter.cs
- NavigationProperty.cs
- SystemIPGlobalStatistics.cs
- MessageProtectionOrder.cs
- StylusSystemGestureEventArgs.cs
- ByteFacetDescriptionElement.cs
- lengthconverter.cs
- ImageAutomationPeer.cs
- StateManagedCollection.cs
- HtmlButton.cs
- WindowsButton.cs
- ThemeDictionaryExtension.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- CustomWebEventKey.cs
- ObjectTypeMapping.cs