Bagikan melalui


HttpCachePolicy.VaryByContentEncodings Properti

Definisi

Mendapatkan daftar Content-Encoding header yang akan digunakan untuk memvariasikan cache output.

public:
 property System::Web::HttpCacheVaryByContentEncodings ^ VaryByContentEncodings { System::Web::HttpCacheVaryByContentEncodings ^ get(); };
public System.Web.HttpCacheVaryByContentEncodings VaryByContentEncodings { get; }
member this.VaryByContentEncodings : System.Web.HttpCacheVaryByContentEncodings
Public ReadOnly Property VaryByContentEncodings As HttpCacheVaryByContentEncodings

Nilai Properti

Objek yang menentukan header mana yang Content-Encoding digunakan untuk memilih respons cache.

Contoh

Contoh berikut menunjukkan cara mengaktifkan respons yang dikompresi secara dinamis untuk halaman yang akan dilayani dari cache output. Pengodean yang dapat diterima adalah "gzip" dan diatur dengan menggunakan VaryByContentEncodings atribut arahan @ OutputCache . Jika server Web yang menghosting halaman tidak mengaktifkan pemadatan dinamis, cache output tidak akan memiliki respons cache yang didasarkan pada pengodean konten yang ditentukan.

<%@ 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>

Keterangan

Properti VaryByContentEncodings mengembalikan daftar header Pengodean Konten yang mewakili skema pemadatan untuk memvariasikan cache output. Penembolokan respons terkompresi dinamis berarti bahwa biaya pemadatan hanya dikeluarkan satu kali, selama permintaan pertama untuk sumber daya.

Properti VaryByContentEncodings digunakan dengan Accept-Encoding header permintaan untuk menentukan cara menyajikan respons cache untuk pengodean konten yang berbeda yang dikompresi secara dinamis. Header Accept-Encoding mencantumkan pengodean yang dapat didekompresi klien.

Saat Anda mengatur cache untuk bervariasi menurut pengodean konten, itu memungkinkan respons bervariasi secara tidak langsung oleh nilai di Accept-Encoding header. Saat permintaan diproses, Accept-Encoding header dicentang dan pengodean pertama yang dapat diterima diidentifikasi dan digunakan untuk mengambil salah satu tindakan berikut:

  • Jika pengodean yang cocok ditemukan dalam VaryByContentEncodings daftar dan respons cache ada, respons cache dikirim.

  • Jika pengodean yang cocok ditemukan dalam VaryByContentEncodings daftar tetapi respons yang di-cache tidak ada, respons dihasilkan dan dimasukkan ke dalam cache.

  • Jika pengodean yang cocok tidak ditemukan dalam VaryByContentEncodings daftar, cache dicari untuk respons yang tidak dikodekan, juga disebut sebagai respons identitas. Jika respons yang tidak dikodekan ditemukan, respons akan dikirim. Jika tidak, respons baru yang tidak dikodekan dihasilkan, dikirim, dan disimpan dalam cache.

Untuk informasi selengkapnya tentang VaryByContentEncodings properti , lihat "RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1," yang tersedia di situs Web World Wide Web Consortium (W3C). Informasi tentang pengodean konten ada di bagian 14, "Definisi Bidang Header."

Anda dapat mengatur VaryByContentEncodings properti dengan menggunakan VaryByContentEncodings atribut direktif @ OutputCache . Anda juga dapat menambahkan profil cache ke elemen outputCacheProfile dalam file Web.config.

VaryByContentEncodings diperkenalkan dalam .NET Framework versi 3.5. Untuk informasi selengkapnya, lihat Versi dan Dependensi.

Berlaku untuk

Lihat juga