Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / Configuration / BufferModeSettings.cs / 2 / BufferModeSettings.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 BufferModeSettings : ConfigurationElement {
private static readonly ConfigurationElementProperty s_elemProperty = new ConfigurationElementProperty(new CallbackValidator(typeof(BufferModeSettings), Validate));
const int DefaultMaxBufferThreads = 1;
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 _propMaxBufferSize =
new ConfigurationProperty("maxBufferSize",
typeof(int),
int.MaxValue,
new InfiniteIntConverter(),
StdValidatorsAndConverters.NonZeroPositiveIntegerValidator,
ConfigurationPropertyOptions.IsRequired);
private static readonly ConfigurationProperty _propMaxFlushSize =
new ConfigurationProperty("maxFlushSize",
typeof(int),
int.MaxValue,
new InfiniteIntConverter(),
StdValidatorsAndConverters.NonZeroPositiveIntegerValidator,
ConfigurationPropertyOptions.IsRequired);
private static readonly ConfigurationProperty _propUrgentFlushThreshold =
new ConfigurationProperty("urgentFlushThreshold",
typeof(int),
int.MaxValue,
new InfiniteIntConverter(),
StdValidatorsAndConverters.NonZeroPositiveIntegerValidator,
ConfigurationPropertyOptions.IsRequired);
private static readonly ConfigurationProperty _propRegularFlushInterval =
new ConfigurationProperty("regularFlushInterval",
typeof(TimeSpan),
TimeSpan.FromSeconds(1),
StdValidatorsAndConverters.InfiniteTimeSpanConverter,
StdValidatorsAndConverters.PositiveTimeSpanValidator,
ConfigurationPropertyOptions.IsRequired);
private static readonly ConfigurationProperty _propUrgentFlushInterval =
new ConfigurationProperty("urgentFlushInterval",
typeof(TimeSpan),
TimeSpan.Zero,
StdValidatorsAndConverters.InfiniteTimeSpanConverter,
null,
ConfigurationPropertyOptions.IsRequired);
private static readonly ConfigurationProperty _propMaxBufferThreads =
new ConfigurationProperty("maxBufferThreads",
typeof(int),
DefaultMaxBufferThreads,
new InfiniteIntConverter(),
StdValidatorsAndConverters.NonZeroPositiveIntegerValidator,
ConfigurationPropertyOptions.None);
static BufferModeSettings() {
// Property initialization
_properties = new ConfigurationPropertyCollection();
_properties.Add(_propName);
_properties.Add(_propMaxBufferSize);
_properties.Add(_propMaxFlushSize);
_properties.Add(_propUrgentFlushThreshold);
_properties.Add(_propRegularFlushInterval);
_properties.Add(_propUrgentFlushInterval);
_properties.Add(_propMaxBufferThreads);
}
internal BufferModeSettings() {
}
public BufferModeSettings(String name, int maxBufferSize, int maxFlushSize,
int urgentFlushThreshold, TimeSpan regularFlushInterval,
TimeSpan urgentFlushInterval, int maxBufferThreads)
: this() {
Name = name;
MaxBufferSize = maxBufferSize;
MaxFlushSize = maxFlushSize;
UrgentFlushThreshold = urgentFlushThreshold;
RegularFlushInterval = regularFlushInterval;
UrgentFlushInterval = urgentFlushInterval;
MaxBufferThreads = maxBufferThreads;
}
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("maxBufferSize", IsRequired = true, DefaultValue = int.MaxValue)]
[TypeConverter(typeof(InfiniteIntConverter))]
[IntegerValidator(MinValue = 1)]
public int MaxBufferSize {
get {
return (int)base[_propMaxBufferSize];
}
set {
base[_propMaxBufferSize] = value;
}
}
[ConfigurationProperty("maxFlushSize", IsRequired = true, DefaultValue = int.MaxValue)]
[TypeConverter(typeof(InfiniteIntConverter))]
[IntegerValidator(MinValue = 1)]
public int MaxFlushSize {
get {
return (int)base[_propMaxFlushSize];
}
set {
base[_propMaxFlushSize] = value;
}
}
[ConfigurationProperty("urgentFlushThreshold", IsRequired = true, DefaultValue = int.MaxValue)]
[TypeConverter(typeof(InfiniteIntConverter))]
[IntegerValidator(MinValue = 1)]
public int UrgentFlushThreshold {
get {
return (int)base[_propUrgentFlushThreshold];
}
set {
base[_propUrgentFlushThreshold] = value;
}
}
[ConfigurationProperty("regularFlushInterval", IsRequired = true, DefaultValue = "00:00:01")]
[TypeConverter(typeof(InfiniteTimeSpanConverter))]
[TimeSpanValidator(MinValueString="00:00:00", MaxValueString=TimeSpanValidatorAttribute.TimeSpanMaxValue)]
public TimeSpan RegularFlushInterval {
get {
return (TimeSpan)base[_propRegularFlushInterval];
}
set {
base[_propRegularFlushInterval] = value;
}
}
[ConfigurationProperty("urgentFlushInterval", IsRequired = true, DefaultValue = "00:00:00")]
[TypeConverter(typeof(InfiniteTimeSpanConverter))]
public TimeSpan UrgentFlushInterval {
get {
return (TimeSpan)base[_propUrgentFlushInterval];
}
set {
base[_propUrgentFlushInterval] = value;
}
}
[ConfigurationProperty("maxBufferThreads", DefaultValue = DefaultMaxBufferThreads)]
[TypeConverter(typeof(InfiniteIntConverter))]
[IntegerValidator(MinValue = 1)]
public int MaxBufferThreads {
get {
return (int)base[_propMaxBufferThreads];
}
set {
base[_propMaxBufferThreads] = value;
}
}
protected override ConfigurationElementProperty ElementProperty {
get {
return s_elemProperty;
}
}
private static void Validate(object value) {
if (value == null) {
throw new ArgumentNullException("bufferMode");
}
Debug.Assert(value is BufferModeSettings);
BufferModeSettings elem = (BufferModeSettings)value;
if (!(elem.UrgentFlushThreshold <= elem.MaxBufferSize)) {
throw new ConfigurationErrorsException(
SR.GetString(
SR.Invalid_attribute1_must_less_than_or_equal_attribute2,
elem.UrgentFlushThreshold.ToString(CultureInfo.InvariantCulture),
"urgentFlushThreshold",
elem.MaxBufferSize.ToString(CultureInfo.InvariantCulture),
"maxBufferSize"),
elem.ElementInformation.Properties["urgentFlushThreshold"].Source, elem.ElementInformation.Properties["urgentFlushThreshold"].LineNumber);
}
if (!(elem.MaxFlushSize <= elem.MaxBufferSize)) {
throw new ConfigurationErrorsException(
SR.GetString(
SR.Invalid_attribute1_must_less_than_or_equal_attribute2,
elem.MaxFlushSize.ToString(CultureInfo.InvariantCulture),
"maxFlushSize",
elem.MaxBufferSize.ToString(CultureInfo.InvariantCulture),
"maxBufferSize"),
elem.ElementInformation.Properties["maxFlushSize"].Source, elem.ElementInformation.Properties["maxFlushSize"].LineNumber);
}
if (!(elem.UrgentFlushInterval < elem.RegularFlushInterval)) {
throw new ConfigurationErrorsException(
SR.GetString(
SR.Invalid_attribute1_must_less_than_attribute2,
elem.UrgentFlushInterval.ToString(),
"urgentFlushInterval",
elem.RegularFlushInterval.ToString(),
"regularFlushInterval"),
elem.ElementInformation.Properties["urgentFlushInterval"].Source, elem.ElementInformation.Properties["urgentFlushInterval"].LineNumber);
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
//
// 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 BufferModeSettings : ConfigurationElement {
private static readonly ConfigurationElementProperty s_elemProperty = new ConfigurationElementProperty(new CallbackValidator(typeof(BufferModeSettings), Validate));
const int DefaultMaxBufferThreads = 1;
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 _propMaxBufferSize =
new ConfigurationProperty("maxBufferSize",
typeof(int),
int.MaxValue,
new InfiniteIntConverter(),
StdValidatorsAndConverters.NonZeroPositiveIntegerValidator,
ConfigurationPropertyOptions.IsRequired);
private static readonly ConfigurationProperty _propMaxFlushSize =
new ConfigurationProperty("maxFlushSize",
typeof(int),
int.MaxValue,
new InfiniteIntConverter(),
StdValidatorsAndConverters.NonZeroPositiveIntegerValidator,
ConfigurationPropertyOptions.IsRequired);
private static readonly ConfigurationProperty _propUrgentFlushThreshold =
new ConfigurationProperty("urgentFlushThreshold",
typeof(int),
int.MaxValue,
new InfiniteIntConverter(),
StdValidatorsAndConverters.NonZeroPositiveIntegerValidator,
ConfigurationPropertyOptions.IsRequired);
private static readonly ConfigurationProperty _propRegularFlushInterval =
new ConfigurationProperty("regularFlushInterval",
typeof(TimeSpan),
TimeSpan.FromSeconds(1),
StdValidatorsAndConverters.InfiniteTimeSpanConverter,
StdValidatorsAndConverters.PositiveTimeSpanValidator,
ConfigurationPropertyOptions.IsRequired);
private static readonly ConfigurationProperty _propUrgentFlushInterval =
new ConfigurationProperty("urgentFlushInterval",
typeof(TimeSpan),
TimeSpan.Zero,
StdValidatorsAndConverters.InfiniteTimeSpanConverter,
null,
ConfigurationPropertyOptions.IsRequired);
private static readonly ConfigurationProperty _propMaxBufferThreads =
new ConfigurationProperty("maxBufferThreads",
typeof(int),
DefaultMaxBufferThreads,
new InfiniteIntConverter(),
StdValidatorsAndConverters.NonZeroPositiveIntegerValidator,
ConfigurationPropertyOptions.None);
static BufferModeSettings() {
// Property initialization
_properties = new ConfigurationPropertyCollection();
_properties.Add(_propName);
_properties.Add(_propMaxBufferSize);
_properties.Add(_propMaxFlushSize);
_properties.Add(_propUrgentFlushThreshold);
_properties.Add(_propRegularFlushInterval);
_properties.Add(_propUrgentFlushInterval);
_properties.Add(_propMaxBufferThreads);
}
internal BufferModeSettings() {
}
public BufferModeSettings(String name, int maxBufferSize, int maxFlushSize,
int urgentFlushThreshold, TimeSpan regularFlushInterval,
TimeSpan urgentFlushInterval, int maxBufferThreads)
: this() {
Name = name;
MaxBufferSize = maxBufferSize;
MaxFlushSize = maxFlushSize;
UrgentFlushThreshold = urgentFlushThreshold;
RegularFlushInterval = regularFlushInterval;
UrgentFlushInterval = urgentFlushInterval;
MaxBufferThreads = maxBufferThreads;
}
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("maxBufferSize", IsRequired = true, DefaultValue = int.MaxValue)]
[TypeConverter(typeof(InfiniteIntConverter))]
[IntegerValidator(MinValue = 1)]
public int MaxBufferSize {
get {
return (int)base[_propMaxBufferSize];
}
set {
base[_propMaxBufferSize] = value;
}
}
[ConfigurationProperty("maxFlushSize", IsRequired = true, DefaultValue = int.MaxValue)]
[TypeConverter(typeof(InfiniteIntConverter))]
[IntegerValidator(MinValue = 1)]
public int MaxFlushSize {
get {
return (int)base[_propMaxFlushSize];
}
set {
base[_propMaxFlushSize] = value;
}
}
[ConfigurationProperty("urgentFlushThreshold", IsRequired = true, DefaultValue = int.MaxValue)]
[TypeConverter(typeof(InfiniteIntConverter))]
[IntegerValidator(MinValue = 1)]
public int UrgentFlushThreshold {
get {
return (int)base[_propUrgentFlushThreshold];
}
set {
base[_propUrgentFlushThreshold] = value;
}
}
[ConfigurationProperty("regularFlushInterval", IsRequired = true, DefaultValue = "00:00:01")]
[TypeConverter(typeof(InfiniteTimeSpanConverter))]
[TimeSpanValidator(MinValueString="00:00:00", MaxValueString=TimeSpanValidatorAttribute.TimeSpanMaxValue)]
public TimeSpan RegularFlushInterval {
get {
return (TimeSpan)base[_propRegularFlushInterval];
}
set {
base[_propRegularFlushInterval] = value;
}
}
[ConfigurationProperty("urgentFlushInterval", IsRequired = true, DefaultValue = "00:00:00")]
[TypeConverter(typeof(InfiniteTimeSpanConverter))]
public TimeSpan UrgentFlushInterval {
get {
return (TimeSpan)base[_propUrgentFlushInterval];
}
set {
base[_propUrgentFlushInterval] = value;
}
}
[ConfigurationProperty("maxBufferThreads", DefaultValue = DefaultMaxBufferThreads)]
[TypeConverter(typeof(InfiniteIntConverter))]
[IntegerValidator(MinValue = 1)]
public int MaxBufferThreads {
get {
return (int)base[_propMaxBufferThreads];
}
set {
base[_propMaxBufferThreads] = value;
}
}
protected override ConfigurationElementProperty ElementProperty {
get {
return s_elemProperty;
}
}
private static void Validate(object value) {
if (value == null) {
throw new ArgumentNullException("bufferMode");
}
Debug.Assert(value is BufferModeSettings);
BufferModeSettings elem = (BufferModeSettings)value;
if (!(elem.UrgentFlushThreshold <= elem.MaxBufferSize)) {
throw new ConfigurationErrorsException(
SR.GetString(
SR.Invalid_attribute1_must_less_than_or_equal_attribute2,
elem.UrgentFlushThreshold.ToString(CultureInfo.InvariantCulture),
"urgentFlushThreshold",
elem.MaxBufferSize.ToString(CultureInfo.InvariantCulture),
"maxBufferSize"),
elem.ElementInformation.Properties["urgentFlushThreshold"].Source, elem.ElementInformation.Properties["urgentFlushThreshold"].LineNumber);
}
if (!(elem.MaxFlushSize <= elem.MaxBufferSize)) {
throw new ConfigurationErrorsException(
SR.GetString(
SR.Invalid_attribute1_must_less_than_or_equal_attribute2,
elem.MaxFlushSize.ToString(CultureInfo.InvariantCulture),
"maxFlushSize",
elem.MaxBufferSize.ToString(CultureInfo.InvariantCulture),
"maxBufferSize"),
elem.ElementInformation.Properties["maxFlushSize"].Source, elem.ElementInformation.Properties["maxFlushSize"].LineNumber);
}
if (!(elem.UrgentFlushInterval < elem.RegularFlushInterval)) {
throw new ConfigurationErrorsException(
SR.GetString(
SR.Invalid_attribute1_must_less_than_attribute2,
elem.UrgentFlushInterval.ToString(),
"urgentFlushInterval",
elem.RegularFlushInterval.ToString(),
"regularFlushInterval"),
elem.ElementInformation.Properties["urgentFlushInterval"].Source, elem.ElementInformation.Properties["urgentFlushInterval"].LineNumber);
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WmlTextBoxAdapter.cs
- ConnectionStringEditor.cs
- SemanticResultValue.cs
- CreateUserWizardAutoFormat.cs
- ChineseLunisolarCalendar.cs
- ScriptRegistrationManager.cs
- input.cs
- MimeBasePart.cs
- PointAnimationUsingKeyFrames.cs
- DisplayInformation.cs
- PerformanceCounterManager.cs
- DesignerVerb.cs
- PenContexts.cs
- ParameterDataSourceExpression.cs
- TogglePattern.cs
- WebPartDeleteVerb.cs
- _ScatterGatherBuffers.cs
- DocumentPaginator.cs
- DataGridViewColumnStateChangedEventArgs.cs
- WebServiceParameterData.cs
- AuthenticationModuleElement.cs
- SimpleModelProvider.cs
- NotifyInputEventArgs.cs
- SQLChars.cs
- PointConverter.cs
- ExceptionRoutedEventArgs.cs
- TemplateKey.cs
- DelegatingConfigHost.cs
- HtmlGenericControl.cs
- QuaternionRotation3D.cs
- ApplicationException.cs
- xdrvalidator.cs
- DataGridViewImageCell.cs
- FileRecordSequenceCompletedAsyncResult.cs
- CodeAttributeArgument.cs
- HelpPage.cs
- StylusLogic.cs
- DateTimeFormatInfoScanner.cs
- FontClient.cs
- Properties.cs
- FileStream.cs
- StructuralObject.cs
- RoutingExtension.cs
- WebPartDeleteVerb.cs
- ResourcesGenerator.cs
- SHA1Managed.cs
- PathGradientBrush.cs
- StrongNameMembershipCondition.cs
- SoapMessage.cs
- IteratorFilter.cs
- XmlNullResolver.cs
- SystemResourceKey.cs
- ScrollBar.cs
- NameTable.cs
- glyphs.cs
- DeflateStream.cs
- URLIdentityPermission.cs
- DataGridViewHeaderCell.cs
- ImageAnimator.cs
- FrameworkElement.cs
- FormViewModeEventArgs.cs
- GenericPrincipal.cs
- TrustManagerMoreInformation.cs
- Path.cs
- AnonymousIdentificationSection.cs
- SimpleWorkerRequest.cs
- PlainXmlSerializer.cs
- RemoteWebConfigurationHost.cs
- IgnoreFileBuildProvider.cs
- ToolStripSplitStackLayout.cs
- XmlSchemaObjectCollection.cs
- EventDescriptor.cs
- DataGridRowAutomationPeer.cs
- ComponentCache.cs
- XmlSchemaDocumentation.cs
- MasterPageCodeDomTreeGenerator.cs
- HierarchicalDataTemplate.cs
- EtwTrace.cs
- LayoutEngine.cs
- BinaryQueryOperator.cs
- FigureParagraph.cs
- WebPartEditorApplyVerb.cs
- ComponentDispatcherThread.cs
- StringFormat.cs
- AccessViolationException.cs
- UIAgentMonitorHandle.cs
- MatcherBuilder.cs
- Assembly.cs
- ConfigXmlComment.cs
- CacheChildrenQuery.cs
- SqlNotificationEventArgs.cs
- DbProviderServices.cs
- RegexBoyerMoore.cs
- TextBoxLine.cs
- WindowShowOrOpenTracker.cs
- BezierSegment.cs
- IIS7WorkerRequest.cs
- OpenTypeLayout.cs
- RequestUriProcessor.cs
- VectorCollection.cs