私の目的は、デフォルトでキャッシングを無効にするグローバルNoCacheActionFilter
属性(に登録されている)を持つことです。Global.asax.cs
次に、グローバルで定義されたものをオーバーライドする必要があるキャッシング属性を追加したいコントローラーの必要なアクションに、よりきめ細かい制御を追加したいと思いますNoCacheActionFilter
。
私のアプローチ
の中にNoCacheActionFilter
public override void OnActionExcecuting(ActionExecutingContext filterContext)
{
//disable caching
HttpCachePolicyBase cache = filterContext.HttpContext.Response.Cache;
cache.SetCacheability(HttpCacheability.NoCache);
...
}
そしてキャッシング属性で...
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
//add caching
...
cache.SetCacheability(HttpCacheability.Public);
...
}
OnActionExecuting
との違いに注意してくださいOnActionExecuted
。これらは順番に呼び出す必要があるため、注文は許可されます。
ただし、どうやらこれは機能しません。助言がありますか??些細なことを見逃してしまう気持ち…