ASP.NETMVC3を使用しています。
コントローラ方式で出力キャッシングを使用しました。
[OutputCache(Duration = 3660, VaryByParam = "none")]
public ActionResult Index()
{
some code;
return View();
}
静的変数などを使用して動的期間を出力キャッシングに入れたい。
これどうやってするの?
ASP.NETMVC3を使用しています。
コントローラ方式で出力キャッシングを使用しました。
[OutputCache(Duration = 3660, VaryByParam = "none")]
public ActionResult Index()
{
some code;
return View();
}
静的変数などを使用して動的期間を出力キャッシングに入れたい。
これどうやってするの?
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();
}