方法 : ASP.NET ページのキャッシュを宣言によって設定する

更新 : 2007 年 11 月

ページまたはユーザー コントロールのキャッシュの設定は、応答ライフサイクルでデバイスがページをキャッシュできるかどうかを表します。これらのデバイスには、要求を行うクライアント (ブラウザ)、その要求に応答する Web サーバー、および要求ストリームや応答ストリームで指定された、キャッシュ機能を持つプロキシ サーバーなどのデバイスが含まれます。

デザイン時にページに必要なキャッシュの設定がわかっている場合は、宣言によってキャッシュを設定できます。ページは、すべての要求に同じキャッシュの設定を使用します。詳細については、「ページのキャッシュの設定」を参照してください。

ページのキャッシュの設定を宣言によって行うには

  1. ページに @ OutputCache ディレクティブを追加し、Duration 属性と VaryByParam 属性を定義します。

  2. @ OutputCache ディレクティブに Location 属性を追加し、その値を OutputCacheLocation 列挙のAnyClientDownstreamServerServerAndClientNone のいずれかの値に指定します。

    ページのキャッシュを 60 秒に設定するコードを次に示します。

    <%@ OutputCache Duration="60" VaryByParam="None"%>
    
    zd1ysf1y.alert_note(ja-jp,VS.90).gifメモ :

    既定値は Any です。Location 属性を定義しない場合、ページ出力は応答に含まれている、キャッシュ機能を持つすべてのネットワーク デバイスでキャッシュできるようになります。このようなアプリケーションには、要求を送信したクライアント、応答元のサーバー、応答を渡すために使用されたすべてのプロキシ サーバーが含まれます。

キャッシュ プロファイルを使用してページのキャッシュを宣言によって設定するには

  1. アプリケーションの Web.config ファイルのキャッシュ プロファイルを定義し、プロファイルに duration と varyByParam 設定を追加します。

    次の <caching> 構成要素は、サーバーのページを 30 秒間キャッシュする Cache30Seconds というキャッシュ プロファイルを定義しています。

    <caching>
      <outputCacheSettings>
        <outputCacheProfiles>
          <add name="Cache30Seconds" duration="30" 
            varyByParam="none" />
        </outputCacheProfiles>
      </outputCacheSettings>
    </caching>
    
  2. このプロファイルを使用する各 ASP.NET ページに @ OutputCacheディレクティブを追加し、CacheProfile 属性を Web.config ファイルで定義したキャッシュ プロファイルの名前に設定します。

    Cache30Seconds というキャッシュ プロファイルを使用するページのコード例を次に示します。

    <%@ OutputCache CacheProfile="Cache30Seconds" %>
    

参照

処理手順

方法 : ページのキャッシュをプログラムによって設定する

概念

ASP.NET ページのキャッシュ

ASP.NET ページのキャッシュ

ページのキャッシュの設定