Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Configuration / SqlCacheDependencyDatabase.cs / 1305376 / 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 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. // //----------------------------------------------------------------------------- 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 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RightsManagementInformation.cs
- SlipBehavior.cs
- LogManagementAsyncResult.cs
- LineBreakRecord.cs
- CharacterMetricsDictionary.cs
- RightsManagementEncryptionTransform.cs
- OdbcStatementHandle.cs
- WebPartDisplayModeEventArgs.cs
- XmlSchema.cs
- RuleConditionDialog.Designer.cs
- input.cs
- InvokePattern.cs
- CellParagraph.cs
- MemberProjectedSlot.cs
- IndexerNameAttribute.cs
- Table.cs
- AstNode.cs
- InstanceDescriptor.cs
- CapabilitiesState.cs
- TableStyle.cs
- TraversalRequest.cs
- Rule.cs
- DataTemplateSelector.cs
- IsolatedStoragePermission.cs
- SemanticAnalyzer.cs
- _SslStream.cs
- CopyOnWriteList.cs
- HttpDictionary.cs
- MethodImplAttribute.cs
- DataObjectMethodAttribute.cs
- _FtpControlStream.cs
- ContractNamespaceAttribute.cs
- AssociationTypeEmitter.cs
- MarkupCompilePass1.cs
- UIElementHelper.cs
- SocketException.cs
- HtmlCommandAdapter.cs
- LicenseException.cs
- HtmlTextArea.cs
- TextureBrush.cs
- ActiveXContainer.cs
- WebFormDesignerActionService.cs
- SmtpException.cs
- SqlLiftIndependentRowExpressions.cs
- Pool.cs
- SspiNegotiationTokenAuthenticator.cs
- DataDocumentXPathNavigator.cs
- ButtonFlatAdapter.cs
- TriggerAction.cs
- ImmComposition.cs
- figurelengthconverter.cs
- TextServicesCompartmentEventSink.cs
- KeySplineConverter.cs
- RegistryPermission.cs
- MarkupProperty.cs
- SelectionRangeConverter.cs
- EntityDataSourceReferenceGroup.cs
- GlobalizationSection.cs
- TabPage.cs
- DockEditor.cs
- CommentEmitter.cs
- DataGridViewCellStyleEditor.cs
- AssemblyAttributes.cs
- FrameworkObject.cs
- log.cs
- ToolBar.cs
- FunctionImportMapping.cs
- MSAAWinEventWrap.cs
- XamlParser.cs
- CallbackValidator.cs
- FilterableAttribute.cs
- SoapSchemaMember.cs
- ProviderCollection.cs
- MissingManifestResourceException.cs
- Int32AnimationBase.cs
- Conditional.cs
- DBConcurrencyException.cs
- DictionarySectionHandler.cs
- BitmapEffectCollection.cs
- DispatchWrapper.cs
- CodeDefaultValueExpression.cs
- FontEditor.cs
- ContainerAction.cs
- RuleConditionDialog.cs
- XPathNavigatorException.cs
- ReferencedType.cs
- RawAppCommandInputReport.cs
- ChangeConflicts.cs
- SqlError.cs
- mactripleDES.cs
- DrawToolTipEventArgs.cs
- FieldDescriptor.cs
- CurrentChangedEventManager.cs
- WhereaboutsReader.cs
- GCHandleCookieTable.cs
- SHA1.cs
- BitmapEffectInput.cs
- DateTimeEditor.cs
- SmiTypedGetterSetter.cs
- DocumentViewerBase.cs