Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Configuration / SqlCacheDependencySection.cs / 1305376 / SqlCacheDependencySection.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; /**/ public sealed class SqlCacheDependencySection : ConfigurationSection { private static readonly ConfigurationElementProperty s_elemProperty = new ConfigurationElementProperty(new CallbackValidator(typeof(SqlCacheDependencySection), Validate)); private static ConfigurationPropertyCollection _properties; private static readonly ConfigurationProperty _propEnabled; private static readonly ConfigurationProperty _propPollTime; private static readonly ConfigurationProperty _propDatabases; static SqlCacheDependencySection() { // Property initialization _properties = new ConfigurationPropertyCollection(); _propEnabled = new ConfigurationProperty("enabled", typeof(bool), true, ConfigurationPropertyOptions.None); _propPollTime = new ConfigurationProperty("pollTime", typeof(int), 60000, ConfigurationPropertyOptions.None); _propDatabases = new ConfigurationProperty("databases", typeof(SqlCacheDependencyDatabaseCollection), null, ConfigurationPropertyOptions.IsDefaultCollection); _properties.Add(_propEnabled); _properties.Add(_propPollTime); _properties.Add(_propDatabases); } public SqlCacheDependencySection() { } 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("sqlCacheDependency"); } Debug.Assert(value is SqlCacheDependencySection); SqlCacheDependencySection elem = (SqlCacheDependencySection)value; int defaultPollTime = elem.PollTime; if (defaultPollTime != 0 && defaultPollTime < 500) { throw new ConfigurationErrorsException( SR.GetString(SR.Invalid_sql_cache_dep_polltime), elem.ElementInformation.Properties["pollTime"].Source, elem.ElementInformation.Properties["pollTime"].LineNumber); } } protected override void PostDeserialize() { int defaultPollTime = PollTime; foreach (SqlCacheDependencyDatabase dbase in Databases) { dbase.CheckDefaultPollTime(defaultPollTime); } } [ConfigurationProperty("enabled", DefaultValue = true)] public bool Enabled { get { return (bool)base[_propEnabled]; } set { base[_propEnabled] = value; } } [ConfigurationProperty("pollTime", DefaultValue = 60000)] public int PollTime { get { return (int)base[_propPollTime]; } set { base[_propPollTime] = value; } } [ConfigurationProperty("databases")] public SqlCacheDependencyDatabaseCollection Databases { get { return (SqlCacheDependencyDatabaseCollection)base[_propDatabases]; } } } } // 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; /**/ public sealed class SqlCacheDependencySection : ConfigurationSection { private static readonly ConfigurationElementProperty s_elemProperty = new ConfigurationElementProperty(new CallbackValidator(typeof(SqlCacheDependencySection), Validate)); private static ConfigurationPropertyCollection _properties; private static readonly ConfigurationProperty _propEnabled; private static readonly ConfigurationProperty _propPollTime; private static readonly ConfigurationProperty _propDatabases; static SqlCacheDependencySection() { // Property initialization _properties = new ConfigurationPropertyCollection(); _propEnabled = new ConfigurationProperty("enabled", typeof(bool), true, ConfigurationPropertyOptions.None); _propPollTime = new ConfigurationProperty("pollTime", typeof(int), 60000, ConfigurationPropertyOptions.None); _propDatabases = new ConfigurationProperty("databases", typeof(SqlCacheDependencyDatabaseCollection), null, ConfigurationPropertyOptions.IsDefaultCollection); _properties.Add(_propEnabled); _properties.Add(_propPollTime); _properties.Add(_propDatabases); } public SqlCacheDependencySection() { } 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("sqlCacheDependency"); } Debug.Assert(value is SqlCacheDependencySection); SqlCacheDependencySection elem = (SqlCacheDependencySection)value; int defaultPollTime = elem.PollTime; if (defaultPollTime != 0 && defaultPollTime < 500) { throw new ConfigurationErrorsException( SR.GetString(SR.Invalid_sql_cache_dep_polltime), elem.ElementInformation.Properties["pollTime"].Source, elem.ElementInformation.Properties["pollTime"].LineNumber); } } protected override void PostDeserialize() { int defaultPollTime = PollTime; foreach (SqlCacheDependencyDatabase dbase in Databases) { dbase.CheckDefaultPollTime(defaultPollTime); } } [ConfigurationProperty("enabled", DefaultValue = true)] public bool Enabled { get { return (bool)base[_propEnabled]; } set { base[_propEnabled] = value; } } [ConfigurationProperty("pollTime", DefaultValue = 60000)] public int PollTime { get { return (int)base[_propPollTime]; } set { base[_propPollTime] = value; } } [ConfigurationProperty("databases")] public SqlCacheDependencyDatabaseCollection Databases { get { return (SqlCacheDependencyDatabaseCollection)base[_propDatabases]; } } } } // 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
- ClientUrlResolverWrapper.cs
- DbProviderSpecificTypePropertyAttribute.cs
- ElementsClipboardData.cs
- ParallelTimeline.cs
- ValidationErrorCollection.cs
- DrawItemEvent.cs
- ReaderOutput.cs
- InternalControlCollection.cs
- SoapAttributeAttribute.cs
- UserNameSecurityTokenAuthenticator.cs
- ByteStorage.cs
- SQLInt16.cs
- ToolStripSystemRenderer.cs
- Matrix.cs
- StrokeCollection.cs
- OneWayElement.cs
- SerializationSectionGroup.cs
- QilTargetType.cs
- UrlPropertyAttribute.cs
- MessageBox.cs
- IISUnsafeMethods.cs
- ContentPresenter.cs
- BitConverter.cs
- AssemblyAttributes.cs
- PreloadHost.cs
- XmlSerializerFactory.cs
- InputMethod.cs
- KeyValueConfigurationCollection.cs
- ImmComposition.cs
- BufferedGraphicsManager.cs
- WebPartConnectionsDisconnectVerb.cs
- DataGridViewCellStyle.cs
- DesignerContextDescriptor.cs
- FixedSOMLineRanges.cs
- BrowserDefinition.cs
- QueryValue.cs
- MulticastDelegate.cs
- ADMembershipProvider.cs
- BufferedReadStream.cs
- FileStream.cs
- DeflateEmulationStream.cs
- CodeVariableDeclarationStatement.cs
- ApplicationServiceHelper.cs
- XmlWriterDelegator.cs
- HandlerElement.cs
- BuildProviderAppliesToAttribute.cs
- ExtendedTransformFactory.cs
- CalendarDataBindingHandler.cs
- BasePropertyDescriptor.cs
- CqlQuery.cs
- WorkflowQueuingService.cs
- ControlCachePolicy.cs
- SelectionItemPattern.cs
- DesignerView.xaml.cs
- _NTAuthentication.cs
- SplashScreenNativeMethods.cs
- OutputCacheSection.cs
- control.ime.cs
- ContextDataSource.cs
- XPathItem.cs
- BlockUIContainer.cs
- WarningException.cs
- FullTrustAssembliesSection.cs
- XmlTextReader.cs
- EncryptedPackage.cs
- ToolStripOverflowButton.cs
- TextTreeTextNode.cs
- _ScatterGatherBuffers.cs
- tabpagecollectioneditor.cs
- CompilerTypeWithParams.cs
- ValueUtilsSmi.cs
- AmbientLight.cs
- NetMsmqSecurityElement.cs
- EventProxy.cs
- OLEDB_Enum.cs
- DiscoveryEndpoint.cs
- Ray3DHitTestResult.cs
- HtmlContainerControl.cs
- QueryValue.cs
- CryptoHandle.cs
- NameTable.cs
- IndexOutOfRangeException.cs
- ErasingStroke.cs
- RemoteWebConfigurationHostStream.cs
- TransportOutputChannel.cs
- OperationFormatter.cs
- KeyEvent.cs
- WebPartVerbsEventArgs.cs
- SortedList.cs
- ValidatedControlConverter.cs
- WebControlParameterProxy.cs
- Tile.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- XmlSchemaComplexType.cs
- ComPlusInstanceProvider.cs
- TypeLibConverter.cs
- MemberDescriptor.cs
- SafeBitVector32.cs
- FrameSecurityDescriptor.cs
- AccessedThroughPropertyAttribute.cs