2013-07-02 25 views
7

MVC4 .net sayfaları için web.config dosyasında önbelleğe alma süresini ayarlamak mümkün mü? Ben:MVC4 Yapılandırma dosyasında önbellek süresini görüntüle?

Bir özellik argüman sabit ifadesi olmalıdır çünkü

Biz çok var

[OutputCache(Duration = Convert.ToInt32(ConfigurationManager.AppSettings["cache.eventPage"]), VaryByParam = "Id")] 
public ActionResult.... 

bir öznitelik parametresi türü ifadesi veya dizi oluşturma ifadesi typeof, derlemek olmaz Hangi hızlı trafik ve bu değeri çok hızlı bir şekilde değiştirerek yeni bir yapıyı dışarı atmak ister. Mümkün mü?

cevap

15

OutputCache profiles; Zaten yaptığım gibi

<system.web> 
<caching> 
    <outputCacheSettings> 
    <outputCacheProfiles> 
     <add name="CacheProfile1" duration="10" /> <!--10 seconds --> 
     <add name="CacheProfile2" duration="3600" /> <!--one hour--> 
     <add name="CacheProfileNone" duration="0" /> <!--disabled--> 
    </outputCacheProfiles> 
    </outputCacheSettings> 
</caching> 
</system.web> 

bir öznitelik aracılığıyla kontrolör eylem yöntemleri kullanın web.config'de bir bölüm tanımlar. Sadece CacheProfile özelliğini kullanın. Sahip olduğunuz her önbellek senaryo için farklı profiller oluşturabilirsiniz.

More info on caching at MSDN

+0

Bunu nasıl yaptım böyle bitti. Bu değerlere ulaşmanın daha programlı bir yolu olup olmadığını merak ediyorum. Ancak bu tek cevap olabilir. –

+1

Bounty bunun için yarın ödüllendirilecek, bana çok zaman kazandı. –

İlgili konular