//------------------------------------------------------------------------------ // // 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.Web.UI; using System.ComponentModel; // OutputCacheProfileCollection #if NOT_UNTIL_LATER public sealed class FragmentCacheProfile : ConfigurationElement { private const int ONE_YEAR_DURATION = 31536000; // One year in seconds private static ConfigurationPropertyCollection _properties; private static readonly ConfigurationProperty _propName; private static readonly ConfigurationProperty _propEnabled; private static readonly ConfigurationProperty _propDuration; private static readonly ConfigurationProperty _propLocation; private static readonly ConfigurationProperty _propShared; private static readonly ConfigurationProperty _propProvider; private static readonly ConfigurationProperty _propSqlDependency; private static readonly ConfigurationProperty _propVaryByCustom; private static readonly ConfigurationProperty _propVaryByContentEncoding; private static readonly ConfigurationProperty _propVaryByHeader; private static readonly ConfigurationProperty _propVaryByParam; static FragmentCacheProfile() { // Property initialization _properties = new ConfigurationPropertyCollection(); _propName = new ConfigurationProperty("name", typeof(string), null, null, StdValidatorsAndConverters.NonEmptyStringValidator, ConfigurationPropertyOptions.IsRequired); _propEnabled = new ConfigurationProperty("enabled", typeof(bool), true, ConfigurationPropertyOptions.None); _propDuration = new ConfigurationProperty("duration", typeof(int), ONE_YEAR_DURATION, ConfigurationPropertyOptions.None); _propLocation = new ConfigurationProperty("location", typeof(OutputCacheLocation), -1, ConfigurationPropertyOptions.None); _propShared = new ConfigurationProperty("shared", typeof(bool), false, ConfigurationPropertyOptions.None); _propProvider = new ConfigurationProperty("provider", typeof(string), null, ConfigurationPropertyOptions.None); _propSqlDependency = new ConfigurationProperty("sqlDependency", typeof(string), null, ConfigurationPropertyOptions.None); _propVaryByCustom = new ConfigurationProperty("varyByCustom", typeof(string), null, ConfigurationPropertyOptions.None); _propVaryByContentEncoding = new ConfigurationProperty("varyByContentEncoding", typeof(string), null, ConfigurationPropertyOptions.None); _propVaryByHeader = new ConfigurationProperty("varyByHeader", typeof(string), null, ConfigurationPropertyOptions.None); _propVaryByParam = new ConfigurationProperty("varyByParam", typeof(string), null, ConfigurationPropertyOptions.None); _properties.Add(_propName); _properties.Add(_propEnabled); _properties.Add(_propDuration); _properties.Add(_propLocation); _properties.Add(_propShared); _properties.Add(_propProvider); _properties.Add(_propSqlDependency); _properties.Add(_propVaryByCustom); _properties.Add(_propVaryByContentEncoding); _properties.Add(_propVaryByHeader); _properties.Add(_propVaryByParam); } internal FragmentCacheProfile() { } public FragmentCacheProfile(string name) { Name = name; } protected override ConfigurationPropertyCollection Properties { get { return _properties; } } [ConfigurationProperty("name", IsRequired = true, DefaultValue = "")] [StringValidator(MinLength = 1)] public string Name { get { return (string)base[_propName]; } set { base[_propName] = value; } } [ConfigurationProperty("enabled", DefaultValue = true)] public bool Enabled { get { return (bool)base[_propEnabled]; } set { base[_propEnabled] = value; } } [ConfigurationProperty("duration", DefaultValue = ONE_YEAR_DURATION)] public int Duration { get { return (int)base[_propDuration]; } set { base[_propDuration] = value; } } [ConfigurationProperty("location", DefaultValue = -1)] public OutputCacheLocation Location { get { return (OutputCacheLocation)base[_propLocation]; } set { base[_propLocation] = value; } } [ConfigurationProperty("shared", DefaultValue = false)] public bool Shared { get { return (bool)base[_propShared]; } set { base[_propShared] = value; } } [ConfigurationProperty("provider")] public string Provider { get { return (string)base[_propProvider]; } set { base[_propProvider] = value; } } [ConfigurationProperty("sqlDependency")] public string SqlDependency { get { return (string)base[_propSqlDependency]; } set { base[_propSqlDependency] = value; } } [ConfigurationProperty("varyByCustom")] public string VaryByCustom { get { return (string)base[_propVaryByCustom]; } set { base[_propVaryByCustom] = value; } } [ConfigurationProperty("varyByContentEncoding")] public string VaryByContentEncoding { get { return (string)base[_propVaryByContentEncoding]; } set { base[_propVaryByContentEncoding] = value; } } [ConfigurationProperty("varyByHeader")] public string VaryByHeader { get { return (string)base[_propVaryByHeader]; } set { base[_propVaryByHeader] = value; } } [ConfigurationProperty("varyByParam")] public string VaryByParam { get { return (string)base[_propVaryByParam]; } set { base[_propVaryByParam] = value; } } } #endif }