2012-05-03 10 views
6

私はASP.NET MVC3を使用しています。
私はコントローラメソッドで出力キャッシュを使用しました。出力キャッシュの動的期間値の使用方法

[OutputCache(Duration = 3660, VaryByParam = "none")] 
    public ActionResult Index() 
    { 
     some code; 
     return View(); 
    } 

出力キャッシュに静的変数などを使用して動的期間を設定したいとします。

どうすればいいですか?

答えて

10

私はOutputCache属性を継承し、そこDurationを設定します:

public static class CacheConfig 
{ 
    public static int Duration = 36600; 
} 

public class MyOutputCacheAttribute : OutputCacheAttribute 
{ 
    public MyOutputCacheAttribute() 
    { 
     this.Duration = CacheConfig.Duration; 
    } 
} 

[MyOutputCache(VaryByParam = "none")] 
public ActionResult Index() 
{ 
    return View(); 
} 

次にあなたがCacheConfig.Duration

トラフそして、あなたはまだ、すべてにグローバル設定を上書きすることができ、動的かつグローバルDurationを変更することができます必要に応じてアクション:

[MyOutputCache(Duration = 100, VaryByParam = "none")] 
public ActionResult OtherAction() 
{ 
    return View(); 
} 
関連する問題