方法 : ASP.NET ページのキャッシュに有効期限値を設定する
更新 : 2007 年 11 月
ページを出力キャッシュに追加する場合は、そのページに対する有効期限ポリシーを確立する必要があります。これは、宣言またはプログラムによって実行できます。
ページの出力キャッシュの有効期限を宣言によって設定するには
応答をキャッシュの対象にする ASP.NET ページ (.aspx ファイル) に @ OutputCache ディレクティブを組み込みます。Duration 属性に正の数値を設定し、VaryByParam 属性に値を設定します。
メモ : @ OutputCache ディレクティブは、既定で Cache-Control ヘッダーを Any に設定します。
たとえば、次の @ OutputCache ディレクティブは、ページの有効期限を 60 秒に設定します。
<%@ OutputCache Duration="60" VaryByParam="None" %>
メモ : @ OutputCache ディレクティブを使用する場合は VaryByParam 属性を含める必要があります。そうしなければ、パーサー エラーが発生します。VaryByParam 属性が提供する機能を使用しない場合は、値を "None" に設定してください。詳細については、「ページの複数バージョンのキャッシュ」を参照してください。
ページの出力キャッシュの有効期限をプログラムによって設定するには
ページのコードで、Response オブジェクトの Cache プロパティを使用してページの有効期限ポリシーを設定します。
メモ : ページの有効期限をプログラムによって設定する場合は、キャッシュされたページの Cache-Control ヘッダーも設定する必要があります。そのためには、SetCacheability メソッドを呼び出し、HttpCacheability 列挙値の Public を渡します。
次のコード例は、@ OutputCache ディレクティブが前の処理で設定する内容と同じキャッシュ ポリシーを設定します。
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60)); Response.Cache.SetCacheability(HttpCacheability.Public); Response.Cache.SetValidUntilExpires(true);
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60)) Response.Cache.SetCacheability(HttpCacheability.Public) Response.Cache.SetValidUntilExpires(True)
キャッシュされたページの有効期限が切れると、それ以降にそのページが要求された場合には、応答が動的に生成されます。この応答ページは、指定した存続期間だけキャッシュされます。
参照
処理手順
方法 : ASP.NET ページのキャッシュを宣言によって設定する