asp.net MVC OutputCache 属性的默认持续时间是多少?

What is the default Duration of asp.net MVC OutputCache attribute?

我们正在使用 MVC outputcache 属性,如下所示

[OutputCache(Location = System.Web.UI.OutputCacheLocation.Server, Duration = 60 * 60 * 12, VaryByParam = "staticDataTypes;customerSubscriptionId")]

此处 Duration 的默认值是多少?

Duration 属性在System.Web.Configuration.OutputCacheProfile.cs初始化,相关代码如下:

_propDuration = new ConfigurationProperty("duration", typeof(int), -1, 
                                          ConfigurationPropertyOptions.None); 

[ConfigurationProperty("duration", DefaultValue = -1)]
public int Duration {
    get { 
         return (int)base[_propDuration];
    } 
    set { 
        base[_propDuration] = value;
    } 
}

将其设置为默认值 -1,这是一个无效值。持续时间 属性 的文档提到:'The Duration must be defined in either the profile or the directive of a page using the profile.'

因此,实际上没有(有效的)默认值,您需要指定它。