HttpCacheVaryByContentEncodings クラス

定義

HttpCachePolicy クラスの VaryByContentEncodings プロパティを設定するタイプ セーフな方法を提供します。

public ref class HttpCacheVaryByContentEncodings sealed
public sealed class HttpCacheVaryByContentEncodings
type HttpCacheVaryByContentEncodings = class
Public NotInheritable Class HttpCacheVaryByContentEncodings
継承
HttpCacheVaryByContentEncodings

次の例は、出力キャッシュから提供できる動的に圧縮された応答を有効にする方法を示しています。 許容されるエンコーディングは "gzip" であり、 ディレクティブの @ OutputCache 属性をVaryByContentEncodings使用して設定されます。 ページをホストする Web サーバーで動的圧縮が有効になっていない場合、出力キャッシュには、指定されたコンテンツ エンコードに対するキャッシュされた応答はありません。

<%@ Page Language="C#" %>
<%@ OutputCache VaryByParam="none" Duration="10" VaryByContentEncodings="gzip" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Varying Output Cache By Content Encoding</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <%= DateTime.Now.ToString() %>
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ OutputCache VaryByParam="none" Duration="10" VaryByContentEncodings="gzip" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Varying Output Cache By Content Encoding</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <%= DateTime.Now.ToString() %>
    </div>
    </form>
</body>
</html>

注釈

プロパティは VaryByContentEncodings 、動的に圧縮された応答をキャッシュするかどうかを指定するために使用されます。 動的に圧縮された応答をキャッシュすることは、リソースの最初の要求中 (またはアプリケーションの再起動後) とキャッシュ項目の有効期限が切れたときに、圧縮のコストが 1 回だけ発生することを意味します。

クラスの プロパティは VaryByContentEncodings 、リソースに対して複数の HttpCachePolicy キャッシュされた応答がある場合に応答のバリエーションを一意に識別するために使用 ASP.NET 要求ヘッダー パラメーターを識別します。 これは、ヘッダー、パラメーター、コンテンツ エンコードなどの一連のクライアント入力に応答が依存する場合に便利です。

クラスは HttpCacheVaryByContentEncodings 、HTTP キャッシュ制御ヘッダーに直接関連していません。 ただし、クライアントまたはプロキシに対する応答が、指定されたコンテンツ エンコードによって確実に変化することを確認するのに役立ちます。 キャッシュをコンテンツ エンコードによって変化するように設定すると、ASP.NET はヘッダーによって応答を Accept-Encoding 変更できます。 要求が処理されると、ヘッダーがチェックされ、 Accept-Encoding 最初に受け入れられるエンコードが識別され、次のいずれかのアクションを実行するために使用されます。

  • 一覧に VaryByContentEncodings 一致するエンコードも見つかり、キャッシュされた応答が存在する場合は、キャッシュされた応答が送信されます。

  • 一致するエンコードも一覧に VaryByContentEncodings 見つかったが、キャッシュされた応答が存在しない場合は、応答が生成され、キャッシュに挿入されます。

  • 一覧に VaryByContentEncodings 一致するエンコードが見つからない場合、キャッシュはエンコードされていない応答 (ID 応答とも呼ばれます) を検索します。 ID 応答が見つかった場合は、送信されます。 それ以外の場合は、エンコードされていない新しい応答が生成され、キャッシュに格納されます。

プロパティの VaryByContentEncodings 詳細については、「RFC 2616: ハイパーテキスト転送プロトコル -- HTTP/1.1」を参照してください。 World Wide Web Consortium (W3C) Web サイトで入手できます。 詳細については、「ヘッダー フィールド定義」セクション 14 を参照してください。

プロパティを VaryByContentEncodings 設定するには、 ディレクティブを使用するか、 @ OutputCache Web.config ファイル内の outputCacheProfile 要素にプロファイルを追加します。

コンストラクター

HttpCacheVaryByContentEncodings()

HttpCacheVaryByContentEncodings クラスの新しいインスタンスを初期化します。

プロパティ

Item[String]

指定したコンテンツ エンコーディングでキャッシュを識別できるかどうかを示す値を取得または設定します。

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetContentEncodings()

キャッシュを変更するために使用するコンテンツ エンコーディングを指定する値の配列を取得します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
SetContentEncodings(String[])

キャッシュを変更するために使用するコンテンツ エンコーディングを指定する値の配列を設定します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください