3

MVCコントローラーにアクションがあり、渡されたパラメーターに基づいてキーとして返された結果をキャッシュしたいので、次回このアクションが呼び出されると、最初にキャッシュが検索され、見つからない場合はデータが検索されます保管所。

 public ActionResult GetSearchResult(string zipcode, int pageSize, int currentPage)
 {
     Cache[zipcode + page + currentpage] = somedata // but it should be cleared after 30 min
 }

これどうやってするの?上記のようにデータをキャッシュ オブジェクトに保存できますが、キャッシュされたオブジェクトが 30 分後に確実に消去されるようにしたいと考えています。グローバルまたはキャッシュされたオブジェクトごとに有効期間を構成する方法がわかりません。

4

2 に答える 2

2

この方法を使用できますCache.Insert()

Cache.Insert("key", myTimeSensitiveData, null, 
  DateTime.Now.AddMinutes(30), TimeSpan.Zero);

詳細については、ASP.NETキャッシング:テクニックとベストプラクティスを参照してください。

于 2012-04-30T15:04:12.663 に答える
2

自分で手動で行うのではなく、アクションでoutputcacheフィルターを使用することを強くお勧めします

     [OutputCache(Duration=1800, VaryByParam="*")]
     public ActionResult GetSearchResult(string zipcode, int pageSize, int currentPage)
     {
  //       Cache[zipcode + page + currentpage] = somedata // but it should be cleared after 30 min
     }
于 2012-04-30T15:04:55.000 に答える