HttpCachePolicy.VaryByContentEncodings Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.