Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RoutingTable.cs
- MediaScriptCommandRoutedEventArgs.cs
- TableParagraph.cs
- FixedDocumentSequencePaginator.cs
- Soap12ProtocolReflector.cs
- TypedTableHandler.cs
- GenericParameterDataContract.cs
- PointAnimationClockResource.cs
- EncoderReplacementFallback.cs
- Rotation3D.cs
- DBParameter.cs
- HwndSubclass.cs
- TextDecorationUnitValidation.cs
- wgx_exports.cs
- OdbcTransaction.cs
- XmlIlGenerator.cs
- SmtpLoginAuthenticationModule.cs
- SafeEventLogWriteHandle.cs
- SessionStateContainer.cs
- BoolExpr.cs
- ThreadStaticAttribute.cs
- TextBox.cs
- SiteMapPath.cs
- X509CertificateCollection.cs
- ConsoleTraceListener.cs
- ProfessionalColors.cs
- XamlTreeBuilderBamlRecordWriter.cs
- ValueChangedEventManager.cs
- ChangeInterceptorAttribute.cs
- SplitterEvent.cs
- DeferrableContentConverter.cs
- SqlBooleanizer.cs
- __ComObject.cs
- DrawingContextWalker.cs
- PngBitmapDecoder.cs
- ContentIterators.cs
- WinFormsUtils.cs
- KnownTypesHelper.cs
- MemberAssignmentAnalysis.cs
- TagPrefixAttribute.cs
- HwndProxyElementProvider.cs
- DetailsViewAutoFormat.cs
- HostedController.cs
- VirtualizingPanel.cs
- RuntimeEnvironment.cs
- PointAnimationBase.cs
- WebBrowsableAttribute.cs
- XmlIncludeAttribute.cs
- IconConverter.cs
- ModelProperty.cs
- EntityProxyTypeInfo.cs
- AppLevelCompilationSectionCache.cs
- ProjectedSlot.cs
- SqlUnionizer.cs
- BridgeDataRecord.cs
- CombinedGeometry.cs
- XamlToRtfWriter.cs
- TextRangeBase.cs
- Line.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- QilNode.cs
- ListViewPagedDataSource.cs
- CodeMemberEvent.cs
- IOThreadTimer.cs
- XhtmlBasicObjectListAdapter.cs
- PKCS1MaskGenerationMethod.cs
- LocalizedNameDescriptionPair.cs
- WebResourceUtil.cs
- PolyBezierSegment.cs
- UnsafeNativeMethods.cs
- PolyBezierSegment.cs
- Line.cs
- SubMenuStyleCollection.cs
- ISessionStateStore.cs
- PropertyItemInternal.cs
- SecurityPolicySection.cs
- ListControl.cs
- xsdvalidator.cs
- WebEvents.cs
- ListViewGroupConverter.cs
- WCFBuildProvider.cs
- LicenseProviderAttribute.cs
- LockedHandleGlyph.cs
- ComplexTypeEmitter.cs
- ConversionContext.cs
- XmlWhitespace.cs
- XmlSerializerAssemblyAttribute.cs
- SizeF.cs
- TaiwanCalendar.cs
- EntityDataReader.cs
- SerializationException.cs
- DataGrid.cs
- SqlUserDefinedTypeAttribute.cs
- XPathPatternBuilder.cs
- ConstraintEnumerator.cs
- EntityDataSourceViewSchema.cs
- ClientUtils.cs
- Expression.cs
- TransformPattern.cs
- PolyLineSegmentFigureLogic.cs