2016-04-22 14 views
4

Мы используем MVC OutputCache атрибут, как показано нижеКакова продолжительность по умолчанию атрибута OutputCache asp.net MVC?

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

Вот что такое значение по умолчанию Продолжительность?

+0

Значение по умолчанию длительности равно «0» – Yogi

+0

. Если значение Duration равно 0, то, например, мы не кэшируем? – Prasu

+0

есть, это. 0 означает отсутствие кеширования. – Yogi

ответ

3

Свойство Продолжительность инициализируется в 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, который является недопустимым значением. Документация для свойства Duration: «Продолжительность должна определяться либо профилем, либо директивой страницы с использованием профиля».

Итак, на самом деле нет (действительного) значения по умолчанию, вам необходимо указать его.