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
- CompiledQuery.cs
- SrgsRuleRef.cs
- LinqDataSourceDeleteEventArgs.cs
- InkCanvasSelectionAdorner.cs
- Visitors.cs
- MessageBox.cs
- QuadTree.cs
- TextBox.cs
- WindowsSolidBrush.cs
- XmlResolver.cs
- NumberAction.cs
- XmlFormatExtensionAttribute.cs
- TrackingMemoryStreamFactory.cs
- VersionedStream.cs
- LostFocusEventManager.cs
- AuthorizationSection.cs
- RegexFCD.cs
- MenuAutomationPeer.cs
- DataContractJsonSerializerOperationBehavior.cs
- AggregateNode.cs
- OleDbErrorCollection.cs
- CodeVariableReferenceExpression.cs
- FontSizeConverter.cs
- FixedSOMImage.cs
- ButtonBaseAdapter.cs
- MultilineStringConverter.cs
- EntityDataSourceSelectingEventArgs.cs
- SiteMembershipCondition.cs
- RouteUrlExpressionBuilder.cs
- FormViewRow.cs
- DataGridLinkButton.cs
- ImmutableClientRuntime.cs
- CircleHotSpot.cs
- RootNamespaceAttribute.cs
- ModelItemKeyValuePair.cs
- UndoUnit.cs
- AdornerHitTestResult.cs
- QuotaThrottle.cs
- DataGridViewIntLinkedList.cs
- AsyncDataRequest.cs
- HandlerFactoryCache.cs
- KnownIds.cs
- SubpageParaClient.cs
- XamlLoadErrorInfo.cs
- VisualStyleTypesAndProperties.cs
- WindowsListViewScroll.cs
- SafeCertificateStore.cs
- OracleDataReader.cs
- MetadataArtifactLoaderResource.cs
- BooleanFacetDescriptionElement.cs
- CompositeControl.cs
- WebEvents.cs
- SoapTypeAttribute.cs
- StylusPointPropertyId.cs
- Object.cs
- SoapIncludeAttribute.cs
- HtmlShimManager.cs
- HtmlTableCell.cs
- PrintingPermission.cs
- CookielessHelper.cs
- GridViewUpdatedEventArgs.cs
- DispatcherOperation.cs
- AttributeAction.cs
- ConfigurationSettings.cs
- ServiceDebugBehavior.cs
- Cursor.cs
- DataGridViewCellPaintingEventArgs.cs
- HostSecurityManager.cs
- CheckBoxFlatAdapter.cs
- WebPartDeleteVerb.cs
- ISFClipboardData.cs
- CustomTypeDescriptor.cs
- AppDomainEvidenceFactory.cs
- EdmToObjectNamespaceMap.cs
- MenuTracker.cs
- ApplicationTrust.cs
- GridViewAutoFormat.cs
- TreeNodeStyleCollection.cs
- DSASignatureDeformatter.cs
- Int32EqualityComparer.cs
- SplitterEvent.cs
- Logging.cs
- filewebrequest.cs
- Char.cs
- CompiledRegexRunnerFactory.cs
- InfoCardTraceRecord.cs
- ConstNode.cs
- PeerApplicationLaunchInfo.cs
- SQLUtility.cs
- SqlFacetAttribute.cs
- GeneralTransform3D.cs
- Quaternion.cs
- HttpSessionStateWrapper.cs
- UnaryExpression.cs
- XamlStream.cs
- DocobjHost.cs
- UnSafeCharBuffer.cs
- InstanceCreationEditor.cs
- TransactionChannelFactory.cs
- NamespaceCollection.cs