6

ASP.NETMVC3を使用しています。
コントローラ方式で出力キャッシングを使用しました。

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

静的変数などを使用して動的期間を出力キャッシングに入れたい。

これどうやってするの?

4

1 に答える 1

11

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();
}

次に、Duration動的かつグローバルに変更できます。CacheConfig.Duration

また、必要に応じて、すべてのアクションのグローバル設定をオーバーライドできます。

[MyOutputCache(Duration = 100, VaryByParam = "none")]
public ActionResult OtherAction()
{
    return View();
}
于 2012-05-03T07:28:48.583 に答える