/Foo/Bar などのアクションがあり、このアクションで GET パラメータを使用して get_cached とします。これは、キャッシュされた値または「リアルタイム」を取得するかどうかを定義します。
これは、次のコードで作成されます。
public ActionResult Bar()
{
var useCache = Request.Params["get_cached"] == "1" ? true : false;
if (useCache)
{
return RedirectToAction("BarCached");
}
else
{
return RedirectToAction("BarRealTime");
}
}
[OutputCache(Duration = 100, VaryByParam = "*")]
public ActionResult BarCached()
{
return Content("mystuff_cached");
}
public ActionResult BarRealTime()
{
return Content("mystuff_realtime");
}
URL がBarCachedまたはBarRealTimeとして表示され、Bar (メイン アクション名) のみが取得されることを除けば、このコードに問題はありません。
RedirectToAction を次のような完全なメソッド名に変更しようとしました:
return this.BarCached()
しかし、これはキャッシュ機能を無効にします!
では、このメソッド (BarCached の OutputCache) で OutputCache 定義を使用して、メソッドから ActionResult コードをレンダリングする (Bar から BarCached をレンダリングする) にはどうすればよいでしょうか?
事前に感謝します。