ASP.NET アプリケーションに DevTrends.MvcDonutCaching パッケージを使用していますが、うまく機能します。現在私が抱えている問題の 1 つは、子アクション用に設定した VaryByCustom キャッシュを無効にすることです。
それは私が VaryByCustom セットアップのために持っているいくつかのコードです:
public override string GetVaryByCustomString(HttpContext context, string arg)
{
if (arg == "userlogin" && context.User.Identity.IsAuthenticated)
{
return "UserLogin=" + context.User.Identity.Name;
}
return base.GetVaryByCustomString(context, arg);
}
それが私のアクションの装飾方法です:
[Authorize]
[DonutOutputCache(Duration = 3600, VaryByCustom = "userlogin")]
public ActionResult UserProfile()
{ ... }
そして、それが私がそのキャッシュをクリーンアップしようとした方法です(また、パラメータなしで「userlogin」を使用して試しましたが、これらのどれも機能しませんでした:
OutputCacheManager om = new OutputCacheManager();
om.RemoveItem("Customer", "UserProfile", new { UserLogin = User.Identity.Name });
それはカミソリビューの部分です:
<div id="cabinetMain">
@{Html.RenderAction("UserProfile", true);}
</div>
どんな助けでも大歓迎です。
ありがとう。