方法 : ASP.NET ページのキャッシュを宣言によって設定する
更新 : 2007 年 11 月
ページまたはユーザー コントロールのキャッシュの設定は、応答ライフサイクルでデバイスがページをキャッシュできるかどうかを表します。これらのデバイスには、要求を行うクライアント (ブラウザ)、その要求に応答する Web サーバー、および要求ストリームや応答ストリームで指定された、キャッシュ機能を持つプロキシ サーバーなどのデバイスが含まれます。
デザイン時にページに必要なキャッシュの設定がわかっている場合は、宣言によってキャッシュを設定できます。ページは、すべての要求に同じキャッシュの設定を使用します。詳細については、「ページのキャッシュの設定」を参照してください。
ページのキャッシュの設定を宣言によって行うには
ページに @ OutputCache ディレクティブを追加し、Duration 属性と VaryByParam 属性を定義します。
@ OutputCache ディレクティブに Location 属性を追加し、その値を OutputCacheLocation 列挙のAny、Client、Downstream、Server、ServerAndClient、None のいずれかの値に指定します。
ページのキャッシュを 60 秒に設定するコードを次に示します。
<%@ OutputCache Duration="60" VaryByParam="None"%>
メモ : 既定値は Any です。Location 属性を定義しない場合、ページ出力は応答に含まれている、キャッシュ機能を持つすべてのネットワーク デバイスでキャッシュできるようになります。このようなアプリケーションには、要求を送信したクライアント、応答元のサーバー、応答を渡すために使用されたすべてのプロキシ サーバーが含まれます。
キャッシュ プロファイルを使用してページのキャッシュを宣言によって設定するには
アプリケーションの Web.config ファイルのキャッシュ プロファイルを定義し、プロファイルに duration と varyByParam 設定を追加します。
次の <caching> 構成要素は、サーバーのページを 30 秒間キャッシュする Cache30Seconds というキャッシュ プロファイルを定義しています。
<caching> <outputCacheSettings> <outputCacheProfiles> <add name="Cache30Seconds" duration="30" varyByParam="none" /> </outputCacheProfiles> </outputCacheSettings> </caching>
このプロファイルを使用する各 ASP.NET ページに @ OutputCacheディレクティブを追加し、CacheProfile 属性を Web.config ファイルで定義したキャッシュ プロファイルの名前に設定します。
Cache30Seconds というキャッシュ プロファイルを使用するページのコード例を次に示します。
<%@ OutputCache CacheProfile="Cache30Seconds" %>