201 lines
7.2 KiB
C#
201 lines
7.2 KiB
C#
|
//------------------------------------------------------------------------------
|
||
|
// <copyright file="FragmentCacheProfile.cs" company="Microsoft">
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
// </copyright>
|
||
|
//------------------------------------------------------------------------------
|
||
|
|
||
|
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
|
||
|
}
|