2016-04-22 11 views
4

Wir verwenden Attribut Output MVC, was der Wert vonDauer Standard ist unterWas ist die Standarddauer des asp.net MVC OutputCache-Attributs?

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

Hier wie dargestellt?

+0

Der Standardwert für die Dauer ist "0" – Yogi

+0

Also, wenn Duration Wert 0 ist, ist es so, dass wir nicht cachen? – Prasu

+0

ja, das ist es. 0 bedeutet kein Caching. – Yogi

Antwort

3

Die Duration-Eigenschaft in System.Web.Configuration.OutputCacheProfile.cs initialisiert wird, hier ist der entsprechende Code:

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

und

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

Was es zu einem Standardwert von -1 setzt, die ein ungültiger Wert ist. Die Dokumentation für die Duration-Eigenschaft erwähnt: "Die Dauer muss entweder im Profil oder in der Direktive einer Seite definiert werden, die das Profil verwendet."

Es gibt also keinen (gültigen) Standardwert, den Sie angeben müssen.