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
- AttributeUsageAttribute.cs
- PropertyToken.cs
- DesignBinding.cs
- ViewRendering.cs
- _Events.cs
- HtmlWindowCollection.cs
- DesignerActionListCollection.cs
- PackWebResponse.cs
- Baml6ConstructorInfo.cs
- QilReference.cs
- CompiledQuery.cs
- HistoryEventArgs.cs
- Exceptions.cs
- MulticastIPAddressInformationCollection.cs
- PropertyValueUIItem.cs
- bidPrivateBase.cs
- Range.cs
- SessionStateUtil.cs
- SecurityManager.cs
- DataContext.cs
- ExpressionEvaluator.cs
- ScriptingRoleServiceSection.cs
- ConfigurationSectionGroupCollection.cs
- autovalidator.cs
- ILGen.cs
- SafeNativeMethods.cs
- EncryptedPackageFilter.cs
- HScrollProperties.cs
- CallbackValidatorAttribute.cs
- EntityDataSourceView.cs
- BamlRecordReader.cs
- ComponentRenameEvent.cs
- SymbolType.cs
- NavigationProperty.cs
- SocketInformation.cs
- LockCookie.cs
- DynamicRendererThreadManager.cs
- DataFormat.cs
- TempFiles.cs
- TableItemStyle.cs
- MetadataFile.cs
- DataViewManager.cs
- CodeAccessSecurityEngine.cs
- TraceHandler.cs
- StandardTransformFactory.cs
- PermissionRequestEvidence.cs
- FontDifferentiator.cs
- OdbcDataAdapter.cs
- DocumentViewerAutomationPeer.cs
- xdrvalidator.cs
- HttpHandlersSection.cs
- MouseGestureValueSerializer.cs
- DbParameterCollectionHelper.cs
- SchemaComplexType.cs
- RegexFCD.cs
- MDIControlStrip.cs
- ResourceProviderFactory.cs
- Opcode.cs
- Point.cs
- MatrixTransform3D.cs
- DateTimeParse.cs
- DateTimeSerializationSection.cs
- RecommendedAsConfigurableAttribute.cs
- GeneralTransform3DTo2D.cs
- UndoEngine.cs
- PagesSection.cs
- COM2PropertyDescriptor.cs
- UIElementAutomationPeer.cs
- HtmlTitle.cs
- DesigntimeLicenseContext.cs
- AlternateView.cs
- Transform3D.cs
- ModuleBuilder.cs
- PersonalizationProviderHelper.cs
- NativeCompoundFileAPIs.cs
- DecodeHelper.cs
- ArgumentNullException.cs
- _TransmitFileOverlappedAsyncResult.cs
- TableLayoutSettingsTypeConverter.cs
- ResumeStoryboard.cs
- QilParameter.cs
- FunctionNode.cs
- SettingsPropertyWrongTypeException.cs
- OptimisticConcurrencyException.cs
- InputScope.cs
- MessagePartSpecification.cs
- Serializer.cs
- RecognizedPhrase.cs
- TimeSpan.cs
- HttpConfigurationSystem.cs
- FullTrustAssemblyCollection.cs
- CodeDomComponentSerializationService.cs
- UnsafeNativeMethods.cs
- LinqDataSourceHelper.cs
- ProcessModelInfo.cs
- MenuAdapter.cs
- StorageEntityTypeMapping.cs
- ByteAnimationBase.cs
- CustomTypeDescriptor.cs
- FixedHyperLink.cs