Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Configuration / RuleSettings.cs / 2 / RuleSettings.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.Globalization; using System.IO; using System.Text; using System.ComponentModel; using System.Web.Hosting; using System.Web.Util; using System.Web.Configuration; using System.Web.Management; using System.Web.Compilation; using System.Security.Permissions; [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class RuleSettings : ConfigurationElement { internal static int DEFAULT_MIN_INSTANCES = 1; internal static int DEFAULT_MAX_LIMIT = int.MaxValue; internal static TimeSpan DEFAULT_MIN_INTERVAL = TimeSpan.Zero; internal static string DEFAULT_CUSTOM_EVAL = null; 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 _propEventName = new ConfigurationProperty("eventName", typeof(string), String.Empty, ConfigurationPropertyOptions.IsRequired); private static readonly ConfigurationProperty _propProvider = new ConfigurationProperty("provider", typeof(string), String.Empty, ConfigurationPropertyOptions.None); private static readonly ConfigurationProperty _propProfile = new ConfigurationProperty("profile", typeof(string), String.Empty, ConfigurationPropertyOptions.None); private static readonly ConfigurationProperty _propMinInstances = new ConfigurationProperty("minInstances", typeof(int), DEFAULT_MIN_INSTANCES, null, StdValidatorsAndConverters.NonZeroPositiveIntegerValidator, ConfigurationPropertyOptions.None); private static readonly ConfigurationProperty _propMaxLimit = new ConfigurationProperty("maxLimit", typeof(int), DEFAULT_MAX_LIMIT, new InfiniteIntConverter(), StdValidatorsAndConverters.PositiveIntegerValidator, ConfigurationPropertyOptions.None); private static readonly ConfigurationProperty _propMinInterval = new ConfigurationProperty("minInterval", typeof(TimeSpan), DEFAULT_MIN_INTERVAL, StdValidatorsAndConverters.InfiniteTimeSpanConverter, null, ConfigurationPropertyOptions.None); private static readonly ConfigurationProperty _propCustom = new ConfigurationProperty("custom", typeof(string), String.Empty, ConfigurationPropertyOptions.None); static RuleSettings() { // Property initialization _properties = new ConfigurationPropertyCollection(); _properties.Add(_propName); _properties.Add(_propEventName); _properties.Add(_propProvider); _properties.Add(_propProfile); _properties.Add(_propMinInstances); _properties.Add(_propMaxLimit); _properties.Add(_propMinInterval); _properties.Add(_propCustom); } internal RuleSettings() { } public RuleSettings(String name, String eventName, String provider) : this() { Name = name; EventName = eventName; Provider = provider; } public RuleSettings(String name, String eventName, String provider, String profile, int minInstances, int maxLimit, TimeSpan minInterval) : this(name, eventName, provider) { Profile = profile; MinInstances = minInstances; MaxLimit = maxLimit; MinInterval = minInterval; } public RuleSettings(String name, String eventName, String provider, String profile, int minInstances, int maxLimit, TimeSpan minInterval, string custom) : this(name, eventName, provider) { Profile = profile; MinInstances = minInstances; MaxLimit = maxLimit; MinInterval = minInterval; Custom = custom; } 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("eventName", IsRequired = true, DefaultValue = "")] public String EventName { get { return (string)base[_propEventName]; } set { base[_propEventName] = value; } } [ConfigurationProperty("custom", DefaultValue = "")] public String Custom { get { return (string)base[_propCustom]; } set { base[_propCustom] = value; } } [ConfigurationProperty("profile", DefaultValue = "")] public String Profile { get { return (string)base[_propProfile]; } set { base[_propProfile] = value; } } [ConfigurationProperty("provider", DefaultValue = "")] public String Provider { get { return (string)base[_propProvider]; } set { base[_propProvider] = value; } } [ConfigurationProperty("minInstances", DefaultValue = 1)] [IntegerValidator(MinValue = 1)] public int MinInstances { get { return (int)base[_propMinInstances]; } set { base[_propMinInstances] = value; } } [ConfigurationProperty("maxLimit", DefaultValue = int.MaxValue)] [TypeConverter(typeof(InfiniteIntConverter))] [IntegerValidator(MinValue = 0)] public int MaxLimit { get { return (int)base[_propMaxLimit]; } set { base[_propMaxLimit] = value; } } [ConfigurationProperty("minInterval", DefaultValue = "00:00:00")] [TypeConverter(typeof(InfiniteTimeSpanConverter))] public TimeSpan MinInterval { get { return (TimeSpan)base[_propMinInterval]; } set { base[_propMinInterval] = value; } } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- unsafenativemethodsother.cs
- ClientFormsIdentity.cs
- EDesignUtil.cs
- GridItemPatternIdentifiers.cs
- PixelShader.cs
- WSTrustDec2005.cs
- DataContractJsonSerializer.cs
- FontCacheUtil.cs
- AutoResetEvent.cs
- CodeBinaryOperatorExpression.cs
- RelationshipDetailsRow.cs
- UnsafeNativeMethods.cs
- DataGridViewIntLinkedList.cs
- Calendar.cs
- SemaphoreSecurity.cs
- FontSizeConverter.cs
- DetailsViewInsertedEventArgs.cs
- ImageKeyConverter.cs
- ClockController.cs
- XsdDateTime.cs
- InfoCardAsymmetricCrypto.cs
- Overlapped.cs
- BasicExpressionVisitor.cs
- ParenthesizePropertyNameAttribute.cs
- SkipQueryOptionExpression.cs
- SqlInternalConnection.cs
- Error.cs
- DatagridviewDisplayedBandsData.cs
- connectionpool.cs
- FontCacheLogic.cs
- LinqDataSourceDisposeEventArgs.cs
- DetailsViewDeletedEventArgs.cs
- OleDbRowUpdatingEvent.cs
- AliasedExpr.cs
- DefaultMemberAttribute.cs
- XamlStyleSerializer.cs
- SqlDependencyUtils.cs
- SoapSchemaMember.cs
- InstanceData.cs
- PartBasedPackageProperties.cs
- HyperLinkField.cs
- BindingExpression.cs
- PenThreadWorker.cs
- XamlParser.cs
- NotImplementedException.cs
- XPathAncestorQuery.cs
- XDeferredAxisSource.cs
- WindowsListViewGroup.cs
- DropDownButton.cs
- ZipIOExtraField.cs
- TrackingMemoryStreamFactory.cs
- TypeSemantics.cs
- TheQuery.cs
- Rfc2898DeriveBytes.cs
- ProcessModelInfo.cs
- NameValueConfigurationElement.cs
- EventLogException.cs
- ModelPerspective.cs
- StickyNote.cs
- IPEndPoint.cs
- MetadataLocation.cs
- BrowserCapabilitiesFactoryBase.cs
- CellConstant.cs
- DataControlCommands.cs
- HttpHandlersSection.cs
- CodeCastExpression.cs
- ClientBuildManagerCallback.cs
- StorageEntityTypeMapping.cs
- MemberInfoSerializationHolder.cs
- ModelItem.cs
- ElapsedEventArgs.cs
- CompositeDuplexBindingElement.cs
- MergePropertyDescriptor.cs
- FontFamilyIdentifier.cs
- ProfileGroupSettingsCollection.cs
- FrameworkContentElement.cs
- ScriptRegistrationManager.cs
- AspNetHostingPermission.cs
- StyleXamlTreeBuilder.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- MenuCommand.cs
- HtmlInputHidden.cs
- SessionStateModule.cs
- GeneratedCodeAttribute.cs
- BeginEvent.cs
- ResourceExpressionBuilder.cs
- FacetChecker.cs
- DuplexChannelFactory.cs
- cryptoapiTransform.cs
- CodeParameterDeclarationExpressionCollection.cs
- HttpGetProtocolReflector.cs
- LocationSectionRecord.cs
- CacheChildrenQuery.cs
- And.cs
- messageonlyhwndwrapper.cs
- XmlNodeChangedEventArgs.cs
- ListItemParagraph.cs
- BitmapDownload.cs
- FactoryGenerator.cs
- ProviderCollection.cs