Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / Configuration / SqlCacheDependencyDatabase.cs / 5 / SqlCacheDependencyDatabase.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.Diagnostics;
using System.Security.Permissions;
// class SqlCacheDependencySection
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class SqlCacheDependencyDatabase : ConfigurationElement {
private static readonly ConfigurationElementProperty s_elemProperty = new ConfigurationElementProperty(new CallbackValidator(typeof(SqlCacheDependencyDatabase), Validate));
private static ConfigurationPropertyCollection _properties;
private static readonly ConfigurationProperty _propName;
private static readonly ConfigurationProperty _propConnectionStringName;
private static readonly ConfigurationProperty _propPollTime;
static SqlCacheDependencyDatabase() {
// Property initialization
_properties = new ConfigurationPropertyCollection();
_propName =
new ConfigurationProperty("name",
typeof(string),
null,
null,
StdValidatorsAndConverters.NonEmptyStringValidator,
ConfigurationPropertyOptions.IsRequired |
ConfigurationPropertyOptions.IsKey);
_propConnectionStringName =
new ConfigurationProperty("connectionStringName",
typeof(string),
null,
null,
StdValidatorsAndConverters.NonEmptyStringValidator,
ConfigurationPropertyOptions.IsRequired);
_propPollTime = new ConfigurationProperty("pollTime",
typeof(int),
60000,
ConfigurationPropertyOptions.None);
_properties.Add(_propName);
_properties.Add(_propConnectionStringName);
_properties.Add(_propPollTime);
}
private int defaultPollTime; // This may be set by the outer node to specify the default poll time (i.e. not specified on this node)
public SqlCacheDependencyDatabase(string name, string connectionStringName, int pollTime) {
Name = name;
ConnectionStringName = connectionStringName;
PollTime = pollTime;
}
public SqlCacheDependencyDatabase(string name, string connectionStringName) {
Name = name;
ConnectionStringName = connectionStringName;
}
internal SqlCacheDependencyDatabase() {
}
protected override ConfigurationPropertyCollection Properties {
get {
return _properties;
}
}
protected override ConfigurationElementProperty ElementProperty {
get {
return s_elemProperty;
}
}
private static void Validate(object value) {
if (value == null) {
throw new ArgumentNullException("sqlCacheDependencyDatabase");
}
Debug.Assert(value is SqlCacheDependencyDatabase);
SqlCacheDependencyDatabase elem = (SqlCacheDependencyDatabase)value;
if (elem.PollTime != 0 && elem.PollTime < 500) {
throw new ConfigurationErrorsException(
SR.GetString(SR.Invalid_sql_cache_dep_polltime),
elem.ElementInformation.Properties["pollTime"].Source,
elem.ElementInformation.Properties["pollTime"].LineNumber);
}
}
internal void CheckDefaultPollTime(int value) {
// This method will be called by the outer node.
// If the poolTime property is not specified in the node, then grab the one
// from above.
if (ElementInformation.Properties["pollTime"].ValueOrigin == PropertyValueOrigin.Default) {
defaultPollTime = value;
}
}
[ConfigurationProperty("name", IsRequired = true, IsKey = true)]
[StringValidator(MinLength = 1)]
public string Name {
get {
return (string)base[_propName];
}
set {
base[_propName] = value;
}
}
[ConfigurationProperty("connectionStringName", IsRequired = true)]
[StringValidator(MinLength = 1)]
public string ConnectionStringName {
get {
return (string)base[_propConnectionStringName];
}
set {
base[_propConnectionStringName] = value;
}
}
[ConfigurationProperty("pollTime", DefaultValue = 60000)]
public int PollTime {
get {
if (ElementInformation.Properties["pollTime"].ValueOrigin == PropertyValueOrigin.Default) {
return defaultPollTime; // Return the default value from outer node
}
else {
return (int)base[_propPollTime];
}
}
set {
base[_propPollTime] = value;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// 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.Diagnostics;
using System.Security.Permissions;
// class SqlCacheDependencySection
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class SqlCacheDependencyDatabase : ConfigurationElement {
private static readonly ConfigurationElementProperty s_elemProperty = new ConfigurationElementProperty(new CallbackValidator(typeof(SqlCacheDependencyDatabase), Validate));
private static ConfigurationPropertyCollection _properties;
private static readonly ConfigurationProperty _propName;
private static readonly ConfigurationProperty _propConnectionStringName;
private static readonly ConfigurationProperty _propPollTime;
static SqlCacheDependencyDatabase() {
// Property initialization
_properties = new ConfigurationPropertyCollection();
_propName =
new ConfigurationProperty("name",
typeof(string),
null,
null,
StdValidatorsAndConverters.NonEmptyStringValidator,
ConfigurationPropertyOptions.IsRequired |
ConfigurationPropertyOptions.IsKey);
_propConnectionStringName =
new ConfigurationProperty("connectionStringName",
typeof(string),
null,
null,
StdValidatorsAndConverters.NonEmptyStringValidator,
ConfigurationPropertyOptions.IsRequired);
_propPollTime = new ConfigurationProperty("pollTime",
typeof(int),
60000,
ConfigurationPropertyOptions.None);
_properties.Add(_propName);
_properties.Add(_propConnectionStringName);
_properties.Add(_propPollTime);
}
private int defaultPollTime; // This may be set by the outer node to specify the default poll time (i.e. not specified on this node)
public SqlCacheDependencyDatabase(string name, string connectionStringName, int pollTime) {
Name = name;
ConnectionStringName = connectionStringName;
PollTime = pollTime;
}
public SqlCacheDependencyDatabase(string name, string connectionStringName) {
Name = name;
ConnectionStringName = connectionStringName;
}
internal SqlCacheDependencyDatabase() {
}
protected override ConfigurationPropertyCollection Properties {
get {
return _properties;
}
}
protected override ConfigurationElementProperty ElementProperty {
get {
return s_elemProperty;
}
}
private static void Validate(object value) {
if (value == null) {
throw new ArgumentNullException("sqlCacheDependencyDatabase");
}
Debug.Assert(value is SqlCacheDependencyDatabase);
SqlCacheDependencyDatabase elem = (SqlCacheDependencyDatabase)value;
if (elem.PollTime != 0 && elem.PollTime < 500) {
throw new ConfigurationErrorsException(
SR.GetString(SR.Invalid_sql_cache_dep_polltime),
elem.ElementInformation.Properties["pollTime"].Source,
elem.ElementInformation.Properties["pollTime"].LineNumber);
}
}
internal void CheckDefaultPollTime(int value) {
// This method will be called by the outer node.
// If the poolTime property is not specified in the node, then grab the one
// from above.
if (ElementInformation.Properties["pollTime"].ValueOrigin == PropertyValueOrigin.Default) {
defaultPollTime = value;
}
}
[ConfigurationProperty("name", IsRequired = true, IsKey = true)]
[StringValidator(MinLength = 1)]
public string Name {
get {
return (string)base[_propName];
}
set {
base[_propName] = value;
}
}
[ConfigurationProperty("connectionStringName", IsRequired = true)]
[StringValidator(MinLength = 1)]
public string ConnectionStringName {
get {
return (string)base[_propConnectionStringName];
}
set {
base[_propConnectionStringName] = value;
}
}
[ConfigurationProperty("pollTime", DefaultValue = 60000)]
public int PollTime {
get {
if (ElementInformation.Properties["pollTime"].ValueOrigin == PropertyValueOrigin.Default) {
return defaultPollTime; // Return the default value from outer node
}
else {
return (int)base[_propPollTime];
}
}
set {
base[_propPollTime] = value;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FixUpCollection.cs
- COM2ColorConverter.cs
- DBCommand.cs
- ImageUrlEditor.cs
- TextDecorationLocationValidation.cs
- OrCondition.cs
- BinaryConverter.cs
- MenuItemStyle.cs
- XComponentModel.cs
- TypedTableBase.cs
- XPathNavigatorReader.cs
- TraceSource.cs
- ActivationArguments.cs
- ProfileServiceManager.cs
- WindowsRegion.cs
- PolyQuadraticBezierSegment.cs
- XmlIlVisitor.cs
- CultureTableRecord.cs
- ComponentEditorForm.cs
- MethodCallConverter.cs
- XsltOutput.cs
- CompilerErrorCollection.cs
- XPathNode.cs
- AdapterUtil.cs
- SchemaNames.cs
- BevelBitmapEffect.cs
- BitStack.cs
- CodeObject.cs
- ToolBar.cs
- Application.cs
- WindowsListViewGroup.cs
- XmlMemberMapping.cs
- TemplateParser.cs
- _Connection.cs
- XmlSerializerVersionAttribute.cs
- Char.cs
- AsymmetricKeyExchangeDeformatter.cs
- KeyGesture.cs
- Buffer.cs
- Object.cs
- AsyncOperationContext.cs
- OdbcInfoMessageEvent.cs
- NumericUpDown.cs
- SmiTypedGetterSetter.cs
- ColorConvertedBitmap.cs
- updateconfighost.cs
- LabelLiteral.cs
- WindowsServiceElement.cs
- DeviceSpecificChoice.cs
- MessageQueuePermissionEntry.cs
- RecordManager.cs
- ComplexLine.cs
- DockPanel.cs
- ReadOnlyTernaryTree.cs
- AsyncWaitHandle.cs
- CorrelationExtension.cs
- HtmlInputText.cs
- HttpChannelHelper.cs
- CodeCompiler.cs
- NativeActivityTransactionContext.cs
- ParallelRangeManager.cs
- KeyTime.cs
- OdbcConnectionHandle.cs
- Brush.cs
- EventDescriptor.cs
- FormViewDeletedEventArgs.cs
- DictationGrammar.cs
- CompiledXpathExpr.cs
- EntityDataSourceSelectedEventArgs.cs
- PropertyOrder.cs
- MenuAutoFormat.cs
- SvcMapFileSerializer.cs
- Button.cs
- DateTimeStorage.cs
- ToolStripDropDownButton.cs
- InitiatorSessionSymmetricMessageSecurityProtocol.cs
- SQLResource.cs
- FixedSOMTextRun.cs
- XomlCompilerError.cs
- SqlDataReaderSmi.cs
- SqlGenerator.cs
- RepeaterDesigner.cs
- GeneralTransform3DCollection.cs
- ExclusiveNamedPipeTransportManager.cs
- PrintController.cs
- XmlSerializerImportOptions.cs
- Collection.cs
- TemplateBaseAction.cs
- Comparer.cs
- XmlSignatureProperties.cs
- FileCodeGroup.cs
- SqlCacheDependencyDatabaseCollection.cs
- ObjectStateManagerMetadata.cs
- SecureConversationDriver.cs
- NumericUpDownAccelerationCollection.cs
- IteratorFilter.cs
- VirtualPathUtility.cs
- BookmarkUndoUnit.cs
- ResXBuildProvider.cs
- XmlDocumentSerializer.cs