Code:
/ FX-1434 / FX-1434 / 1.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
- PathFigure.cs
- MbpInfo.cs
- ErrorStyle.cs
- WebPartZoneCollection.cs
- LOSFormatter.cs
- GridPatternIdentifiers.cs
- BmpBitmapEncoder.cs
- Activator.cs
- ExpandableObjectConverter.cs
- BindingContext.cs
- EnvironmentPermission.cs
- DockProviderWrapper.cs
- UnsafeNativeMethods.cs
- Conditional.cs
- XamlFigureLengthSerializer.cs
- WindowsAuthenticationEventArgs.cs
- StopStoryboard.cs
- StsCommunicationException.cs
- GridViewCommandEventArgs.cs
- Debugger.cs
- DateTimeSerializationSection.cs
- WindowsGrip.cs
- SettingsPropertyWrongTypeException.cs
- CheckBoxList.cs
- MarshalDirectiveException.cs
- ConstraintManager.cs
- OperationFormatUse.cs
- ManagementQuery.cs
- BeginEvent.cs
- XmlSerializerFactory.cs
- UnionCodeGroup.cs
- Cursor.cs
- Compiler.cs
- StylusPointProperty.cs
- ExpressionBindingCollection.cs
- OleCmdHelper.cs
- WebPartConnectionsCancelEventArgs.cs
- DataContractJsonSerializer.cs
- PerspectiveCamera.cs
- OptimalBreakSession.cs
- MergablePropertyAttribute.cs
- DetailsViewUpdateEventArgs.cs
- XpsColorContext.cs
- XmlSchemaProviderAttribute.cs
- TypeToTreeConverter.cs
- BrowserTree.cs
- ContextMenuStrip.cs
- ImageBrush.cs
- Selection.cs
- DiscoveryClientBindingElement.cs
- HttpRuntimeSection.cs
- AutoResizedEvent.cs
- MenuItemCollection.cs
- Single.cs
- PackagingUtilities.cs
- DBParameter.cs
- XamlTypeMapperSchemaContext.cs
- XmlParser.cs
- CustomAttribute.cs
- QilExpression.cs
- Int32CollectionValueSerializer.cs
- StateInitializationDesigner.cs
- TextFormatterHost.cs
- WebPartsSection.cs
- LinearKeyFrames.cs
- CharacterShapingProperties.cs
- ArgumentException.cs
- MarginsConverter.cs
- DiscoveryEndpointValidator.cs
- EntityDataSourceDataSelection.cs
- HtmlForm.cs
- ResumeStoryboard.cs
- XLinq.cs
- GridViewSelectEventArgs.cs
- MatrixTransform.cs
- LinqDataSourceContextEventArgs.cs
- ConnectionStringsSection.cs
- UrlMappingsSection.cs
- SqlCachedBuffer.cs
- HttpModuleCollection.cs
- BinaryExpressionHelper.cs
- WebMethodAttribute.cs
- JsonStringDataContract.cs
- HtmlPageAdapter.cs
- XamlSerializer.cs
- DataGridColumn.cs
- DataMisalignedException.cs
- EditorAttribute.cs
- PartialCachingControl.cs
- InvalidateEvent.cs
- PenThreadPool.cs
- RadioButton.cs
- BinaryFormatterWriter.cs
- ProgressBarBrushConverter.cs
- ExeConfigurationFileMap.cs
- DecimalAnimationBase.cs
- MouseWheelEventArgs.cs
- SynchronizationFilter.cs
- CssClassPropertyAttribute.cs
- TargetConverter.cs