について読んでいて、ビューに送信されたパラメーターに基づいてキャッシュを変更OutputCache
する方法を確認しVaryByParam
ましたが、パラメーターと現在ログインしているユーザーの両方に基づいてキャッシュを変更したいと思います (Asp.Nets を使用)デフォルトのメンバーシップ)。私は周りを見回してきましたが、これを機能させる方法を見つけることができないようです。
何を試すべきかについての提案はありますか?
について読んでいて、ビューに送信されたパラメーターに基づいてキャッシュを変更OutputCache
する方法を確認しVaryByParam
ましたが、パラメーターと現在ログインしているユーザーの両方に基づいてキャッシュを変更したいと思います (Asp.Nets を使用)デフォルトのメンバーシップ)。私は周りを見回してきましたが、これを機能させる方法を見つけることができないようです。
何を試すべきかについての提案はありますか?
VaryByCustomを使用します。私は次のようなものを実装しました:
[OutputCache(VaryByCustom="user")]
public ActionResult SomeAction()
{
return View();
}
およびGlobal.asax.cs
public override string GetVaryByCustomString(HttpContext context, string arg)
{
if (arg == "user")
{
return context.Request.User.Identity.IsAuthenticated ? context.Request.User.Identity.Name : string.Empty;
}
return base.GetVaryByCustomString(context, arg);
}