Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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; } } } } // 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
- CqlErrorHelper.cs
- SizeF.cs
- DebugView.cs
- SqlCacheDependencyDatabaseCollection.cs
- AccessedThroughPropertyAttribute.cs
- BuilderPropertyEntry.cs
- SchemaNamespaceManager.cs
- NullReferenceException.cs
- WebEventTraceProvider.cs
- ObjectSelectorEditor.cs
- CompensatableTransactionScopeActivityDesigner.cs
- DataSvcMapFile.cs
- MessageProperties.cs
- TabControlAutomationPeer.cs
- TypeEnumerableViewSchema.cs
- RectKeyFrameCollection.cs
- NameValuePair.cs
- Classification.cs
- SiteOfOriginPart.cs
- SelectionItemPattern.cs
- AppDomainProtocolHandler.cs
- MetadataItemEmitter.cs
- KeysConverter.cs
- DbFunctionCommandTree.cs
- SafeFileMappingHandle.cs
- ModelFunction.cs
- BitmapEffectDrawingContextWalker.cs
- Latin1Encoding.cs
- XmlSequenceWriter.cs
- FieldTemplateFactory.cs
- SudsParser.cs
- Brush.cs
- SafeSystemMetrics.cs
- AddInActivator.cs
- OleCmdHelper.cs
- EmptyEnumerator.cs
- StructuredProperty.cs
- SystemEvents.cs
- CellPartitioner.cs
- ScaleTransform3D.cs
- xmlsaver.cs
- IndentTextWriter.cs
- ApplicationException.cs
- DataGridViewCheckBoxCell.cs
- CorePropertiesFilter.cs
- SafeTimerHandle.cs
- DependencyObject.cs
- AnimatedTypeHelpers.cs
- TextSegment.cs
- Rules.cs
- IdentityVerifier.cs
- ItemsControl.cs
- SqlUserDefinedTypeAttribute.cs
- BuildProvider.cs
- DetailsViewPagerRow.cs
- DateTimeConverter.cs
- SQlBooleanStorage.cs
- _ScatterGatherBuffers.cs
- ObjectComplexPropertyMapping.cs
- ProcessHost.cs
- TextRangeEditTables.cs
- FileRecordSequenceCompletedAsyncResult.cs
- HtmlSelect.cs
- XmlNamespaceMappingCollection.cs
- VectorAnimationUsingKeyFrames.cs
- SplineKeyFrames.cs
- SHA384.cs
- PrinterSettings.cs
- BinHexDecoder.cs
- WorkflowMarkupSerializationManager.cs
- PartitionedDataSource.cs
- CheckPair.cs
- PriorityQueue.cs
- WizardPanelChangingEventArgs.cs
- KeyEvent.cs
- HostedTransportConfigurationBase.cs
- ProxyElement.cs
- UriTemplateQueryValue.cs
- FixedMaxHeap.cs
- XamlToRtfWriter.cs
- FormView.cs
- AccessDataSource.cs
- SettingsPropertyNotFoundException.cs
- SecureUICommand.cs
- SystemTcpConnection.cs
- RemoteWebConfigurationHostStream.cs
- TrustSection.cs
- DateTimeOffset.cs
- ThrowHelper.cs
- HashHelpers.cs
- TextFormatterHost.cs
- ApplicationProxyInternal.cs
- ThreadStaticAttribute.cs
- XmlEntity.cs
- DbDeleteCommandTree.cs
- GroupBoxAutomationPeer.cs
- ImageClickEventArgs.cs
- WpfSharedBamlSchemaContext.cs
- Substitution.cs
- HTMLTextWriter.cs