Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Configuration / SqlCacheDependencyDatabase.cs / 2 / 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; } } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UITypeEditor.cs
- WebSysDescriptionAttribute.cs
- XmlEventCache.cs
- Graph.cs
- BindingMemberInfo.cs
- FormViewModeEventArgs.cs
- InvalidFilterCriteriaException.cs
- BatchServiceHost.cs
- WebPartConnectionsEventArgs.cs
- messageonlyhwndwrapper.cs
- BaseCollection.cs
- MatrixStack.cs
- Label.cs
- ViewLoader.cs
- MulticastOption.cs
- NavigationWindowAutomationPeer.cs
- MatrixTransform3D.cs
- HierarchicalDataTemplate.cs
- MultiDataTrigger.cs
- OracleRowUpdatedEventArgs.cs
- SQLDecimalStorage.cs
- ZipFileInfoCollection.cs
- JavascriptCallbackBehaviorAttribute.cs
- FileVersionInfo.cs
- FrugalMap.cs
- BaseResourcesBuildProvider.cs
- XmlSubtreeReader.cs
- CompressedStack.cs
- ScriptManager.cs
- ProfileSettings.cs
- UriSectionReader.cs
- ProtocolsSection.cs
- XmlSchemaAll.cs
- ExtentKey.cs
- PageRouteHandler.cs
- BaseAddressPrefixFilterElement.cs
- SignatureSummaryDialog.cs
- TemplateComponentConnector.cs
- DataGridCheckBoxColumn.cs
- DebugViewWriter.cs
- Stroke2.cs
- IsolatedStorage.cs
- Image.cs
- FileVersion.cs
- KeyFrames.cs
- DataGridViewCellEventArgs.cs
- PersonalizableTypeEntry.cs
- WSFederationHttpBinding.cs
- InfoCardProofToken.cs
- StorageRoot.cs
- WindowsFormsSynchronizationContext.cs
- SerialPort.cs
- ArgumentNullException.cs
- DetailsViewModeEventArgs.cs
- DesignerToolStripControlHost.cs
- CornerRadiusConverter.cs
- SmtpSection.cs
- ExceptionUtil.cs
- InvalidWMPVersionException.cs
- XmlQuerySequence.cs
- TextParagraphProperties.cs
- LinkedResourceCollection.cs
- SystemInformation.cs
- validationstate.cs
- HitTestParameters.cs
- LinqDataSourceInsertEventArgs.cs
- dtdvalidator.cs
- X509Chain.cs
- DataGridViewRowHeaderCell.cs
- LoadMessageLogger.cs
- ContractNamespaceAttribute.cs
- TimeStampChecker.cs
- StretchValidation.cs
- KeyValuePairs.cs
- GridSplitterAutomationPeer.cs
- _SecureChannel.cs
- SafeProcessHandle.cs
- PersonalizationEntry.cs
- hresults.cs
- LayoutSettings.cs
- Point3DConverter.cs
- PrintPreviewGraphics.cs
- ItemCheckEvent.cs
- Section.cs
- ReferenceEqualityComparer.cs
- RoutedPropertyChangedEventArgs.cs
- SqlStream.cs
- HttpHandlerActionCollection.cs
- PathTooLongException.cs
- TreeViewImageKeyConverter.cs
- RadioButtonStandardAdapter.cs
- VerificationException.cs
- ServiceMoniker.cs
- PrimitiveCodeDomSerializer.cs
- DecimalSumAggregationOperator.cs
- shaperfactory.cs
- RequestCacheManager.cs
- ToolboxControl.cs
- Canvas.cs
- SelectorAutomationPeer.cs