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
- WebHttpBehavior.cs
- FragmentNavigationEventArgs.cs
- ELinqQueryState.cs
- DataBindingExpressionBuilder.cs
- HotCommands.cs
- HatchBrush.cs
- WebPartEventArgs.cs
- StringCollection.cs
- CodeDelegateInvokeExpression.cs
- OleDbMetaDataFactory.cs
- WindowsFormsEditorServiceHelper.cs
- ToolStripScrollButton.cs
- WebEventCodes.cs
- PathTooLongException.cs
- SectionUpdates.cs
- EventLogPermission.cs
- DesignTimeTemplateParser.cs
- HttpRequest.cs
- ConstructorArgumentAttribute.cs
- DeflateStreamAsyncResult.cs
- TreeNodeStyle.cs
- CachedResourceDictionaryExtension.cs
- CommandEventArgs.cs
- InternalDispatchObject.cs
- Int64.cs
- GroupQuery.cs
- TimeSpanSecondsConverter.cs
- NativeObjectSecurity.cs
- NullableConverter.cs
- HttpDictionary.cs
- CodeTypeConstructor.cs
- QuadraticBezierSegment.cs
- WebResourceUtil.cs
- OdbcDataReader.cs
- Point.cs
- OperationInvokerTrace.cs
- HtmlInputImage.cs
- OutputCacheProfile.cs
- FormsAuthenticationTicket.cs
- MultiPageTextView.cs
- ICspAsymmetricAlgorithm.cs
- PackagePartCollection.cs
- StrokeNodeOperations.cs
- SqlCommand.cs
- MeshGeometry3D.cs
- SegmentInfo.cs
- UIElementHelper.cs
- RequestCachePolicyConverter.cs
- SynchronizationLockException.cs
- IntegrationExceptionEventArgs.cs
- DirectoryObjectSecurity.cs
- SerializationFieldInfo.cs
- ConvertersCollection.cs
- GacUtil.cs
- FormsAuthenticationModule.cs
- DataReceivedEventArgs.cs
- QueryContinueDragEventArgs.cs
- RoutedEvent.cs
- MailWriter.cs
- IntSecurity.cs
- RouteParametersHelper.cs
- WebBrowserNavigatedEventHandler.cs
- IISMapPath.cs
- SqlConnectionPoolGroupProviderInfo.cs
- Splitter.cs
- GenericsNotImplementedException.cs
- EditorZone.cs
- InputScopeAttribute.cs
- SystemUdpStatistics.cs
- ClickablePoint.cs
- CallTemplateAction.cs
- TextRunProperties.cs
- _HeaderInfo.cs
- Query.cs
- CheckBoxField.cs
- ReadOnlyCollectionBase.cs
- XmlQuerySequence.cs
- parserscommon.cs
- Pens.cs
- StreamInfo.cs
- Attributes.cs
- AnnotationAdorner.cs
- NodeInfo.cs
- ConsoleTraceListener.cs
- ThemeInfoAttribute.cs
- WebPartDescriptionCollection.cs
- Win32.cs
- IChannel.cs
- LineInfo.cs
- AndCondition.cs
- Permission.cs
- Part.cs
- FormsAuthenticationConfiguration.cs
- DbConnectionPoolIdentity.cs
- NamedObject.cs
- Msec.cs
- ValueTypeFixupInfo.cs
- ListBoxAutomationPeer.cs
- XmlDataImplementation.cs
- FormViewAutoFormat.cs