ASP.NET MVC拡張可能なドーナツキャッシングにより、ドーナツキャッシングはASP.NET MVC 3以降になります。このコードを使用すると、すべてのリクエストを実行できます。ユーザー固有のコンテンツに最適です。
MVCプロジェクトにドーナツキャッシングを追加する最良の方法は、Nugetパッケージを使用することです。 Visual Studio内から、ツールを選択|ライブラリパッケージマネージャーを使用して、パッケージマネージャーコンソールを選択するか、NUGETパッケージを管理します。コンソールを介して、インストールパッケージmvcdonutcachingを入力して返品をヒットします。 GUIから、 MVCDonutCachingを検索して、インストールボタンをクリックしてください。
このパッケージは、組み込みのhtml.action htmlヘルパーにいくつかの過負荷を追加します。各オーバーロードの追加パラメーターは、除外されたfromparentCacheという名前です。キャッシュされてはならない、またはページの残りの部分とは異なるキャッシュ期間があるはずのアクションに対してこれをTrueに設定します。
@Html . Action ( "Login" , "Account" , true )パッケージには、内蔵のoutputCacheAttributeの代わりに使用されるDonutOutputCacheAttributeも含まれています。この属性は、通常、キャッシュする必要があるすべてのコントローラーアクションに配置されます。
固定期間を指定できます。
[ DonutOutputCache ( Duration = "300" ) ]
public ActionResult Index ( )
{
return View ( ) ;
}または、キャッシュプロファイルを使用します。
[ DonutOutputCache ( CacheProfile = "FiveMins" ) ]
public ActionResult Index ( )
{
return View ( ) ;
}キャッシュプロファイルを使用している場合は、web.configでプロファイルを構成してください。システム内で以下を追加します。WEB要素:
< caching >
< outputCacheSettings >
< outputCacheProfiles >
< add name = " FiveMins " duration = " 300 " varyByParam = " * " />
</ outputCacheProfiles >
</ outputCacheSettings >
</ caching >また、カスタムプロバイダーを使用するように出力キャッシュを構成することもできます。
< caching >
< outputCache defaultProvider = " DistributedCacheProvider " >
< providers >
< add name = " DistributedCacheProvider " type = " DevTrends.Example.DistributedCacheProvider " />
</ providers >
</ outputCache >
</ caching >カスタムプロバイダーはこのプロジェクトに含まれていませんが、 System.web.Caching.OutputCacheProviderをサブクラス化することでかなり簡単に記述できることに注意してください。多くの実装もWebで利用できます。
MVC拡張可能なドーナツキャッシングの包括的なガイドが、Devtrendsブログで利用できるようになりました。