6

asp.net-mvc Web サイトでキャッシュされたページを簡単にクリアする方法が必要です。

私は高価な DB 操作を行っているため、アウトプットキャッシングを使用してサイトの実行を高速化することがよくあります。次のようなコードがあります。

    [OutputCache(Duration = 30000)]
    public ActionResult Index()
    {
         return View();
    }

    [OutputCache(Duration = 30000, VaryByParam = "*")]
    public ActionResult GetData(MyParams myParams)
    {
        return PartialView("MyView", GetVM(myParams));
    }

このキャッシュを明示的にクリアしたい場合があります (既存のキャッシュ期間に関係なく)。

キャッシュされたページを削除して完全なコードを実行するために、完全および部分的なページOutputcachingがとにかくありますか?

注:この質問は、ここのようにasp.netの周りですでに一般的に尋ねられているようですが、asp.net-mvc固有の解決策は見られません

私はこれを試しましたが、うまくいかないようです:

 public ActionResult ClearCache()
 {
      this.HttpContext.Response.RemoveOutputCacheItem("/MyController/Index.aspx");
      this.HttpContext.Response.RemoveOutputCacheItem("/MyController/MyView.ascx");
 }
4

1 に答える 1

0

MVC ベースのソリューションの場合、次のようなことができます

this.HttpContext.Response.RemoveOutputCacheItem(Url.Action("MyAction","MyController",new{ id = 1234}));
于 2015-12-15T06:50:28.570 に答える