2012-03-22 7 views
0

MVCアプリケーションをビルドしていて、アプリケーションにキャッシュを入れたいと思います。私はあなたがちょうど[OutputCache(Duration = 60、VaryByParam = "none")]をコントローラメソッドの上に置く必要があることをキャッシングについて読んだことがあります。しかし、私の場合、私は全体のコントローラメソッドではなく、インデックスコントローラから呼び出され、IEnumerable<SelectListItem>を返し、その結果をキャッシュしたい内部メソッドをキャッシュしたいと思います。MVC3の非ビューメソッドのキャッシュに関する問題

しかし、キャッシングは、ビュー結果をもたらすコントローラメソッドの唯一の仕事で、私はまた、非ビュー方式のキャッシュを検索し、いくつかMVCDonutCachingを発見しthis articlesを読み、

[DonutOutputCache(Duration=60, VaryByParam="none")] 
    public IEnumerable<SelectListItem> GetRegionList() 
    { 
     Region region = new Region(); 

     return region.GetRegionsList(); 
    } 
以下の通りも、この試みインストールしています

しかし私の目標を達成するために運がない!誰もこのタイプのキャッシュをここにしてもらえますか?このことを達成するために私を助けてください。

ありがとうございました。

答えて

1

あなたの問題はmvc自体ではなく、モデルデータをキャッシュしていると思います。コントローラのアクションをキャッシュすることは、静的ページを作成してIISキャッシュに保存することと同じです。ユーザーが "Home/Index"(たとえば、)を要求するたびに、IISはコードを実行せずに正しい形式のページ(html)をキャッシュから取り出します。

あなたがしようとしているのは、キャッシュモデルデータです。これはIISとHTMLページの作成とは関係がないため、全く別のことです。 ユニティアプリケーションブロック - http://msdn.microsoft.com/en-us/library/ff649102.aspx この投稿はスタックエクスチェンジから:https://softwareengineering.stackexchange.com/questions/35709/recommendations-for-a-net-distributed-caching-framework

関連する問題