Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / Configuration / SqlCacheDependencySection.cs / 3 / 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; /**/ [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] 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. //------------------------------------------------------------------------------ // // 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; /**/ [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataGridRowHeaderAutomationPeer.cs
- NetworkCredential.cs
- GridPatternIdentifiers.cs
- NativeMethods.cs
- DocumentationServerProtocol.cs
- ModuleBuilderData.cs
- Missing.cs
- MutexSecurity.cs
- Stack.cs
- MetadataException.cs
- XmlSerializerAssemblyAttribute.cs
- CryptoStream.cs
- CounterCreationDataCollection.cs
- EdmPropertyAttribute.cs
- ZipIOExtraFieldZip64Element.cs
- ListenerElementsCollection.cs
- WeakReadOnlyCollection.cs
- IQueryable.cs
- EntityCommandCompilationException.cs
- ColorContextHelper.cs
- MethodRental.cs
- RequestNavigateEventArgs.cs
- ColumnCollection.cs
- QilTypeChecker.cs
- XslTransform.cs
- MultiTargetingUtil.cs
- DbParameterCollection.cs
- EnumerableCollectionView.cs
- AssociationTypeEmitter.cs
- ValidationErrorCollection.cs
- DashStyles.cs
- SerializerDescriptor.cs
- Typography.cs
- RequestUriProcessor.cs
- StateMachineExecutionState.cs
- IpcClientChannel.cs
- AccessKeyManager.cs
- ButtonFieldBase.cs
- UriTemplateTable.cs
- DataServiceConfiguration.cs
- LayoutTable.cs
- Header.cs
- WizardStepBase.cs
- SqlGenerator.cs
- Panel.cs
- BitConverter.cs
- SHA384Managed.cs
- DoubleAnimationClockResource.cs
- TraversalRequest.cs
- UnicastIPAddressInformationCollection.cs
- Win32MouseDevice.cs
- ParserExtension.cs
- WinFormsUtils.cs
- PropertyStore.cs
- SystemIPGlobalStatistics.cs
- IArgumentProvider.cs
- XmlSchemaComplexContentRestriction.cs
- RoleService.cs
- _CookieModule.cs
- PropertyManager.cs
- SizeAnimationClockResource.cs
- PrinterUnitConvert.cs
- CommandHelpers.cs
- EditorZoneBase.cs
- SiteMapNodeItemEventArgs.cs
- AutomationPatternInfo.cs
- WinEventQueueItem.cs
- PathStreamGeometryContext.cs
- TopClause.cs
- PageThemeCodeDomTreeGenerator.cs
- EnumerableCollectionView.cs
- CookieHandler.cs
- ExpressionVisitor.cs
- CompleteWizardStep.cs
- EndpointBehaviorElementCollection.cs
- Config.cs
- SqlUdtInfo.cs
- SignatureToken.cs
- DataGridViewDataErrorEventArgs.cs
- ResumeStoryboard.cs
- CngKey.cs
- AssertFilter.cs
- StrokeCollection.cs
- XPathSelectionIterator.cs
- SafeBitVector32.cs
- MaskedTextProvider.cs
- ClientFormsAuthenticationCredentials.cs
- InternalDispatchObject.cs
- RawStylusInput.cs
- DataGridViewRow.cs
- InternalSafeNativeMethods.cs
- HealthMonitoringSectionHelper.cs
- MD5CryptoServiceProvider.cs
- ServiceModelSecurityTokenTypes.cs
- SizeAnimationClockResource.cs
- GACMembershipCondition.cs
- WorkflowApplicationAbortedEventArgs.cs
- FreezableOperations.cs
- EventDescriptor.cs
- PenContext.cs