Aracılığıyla paylaş


HttpCachePolicy.VaryByContentEncodings Özellik

Tanım

Çıkış önbelleğini Content-Encoding değiştirmek için kullanılacak üst bilgilerin listesini alır.

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

Özellik Değeri

HttpCacheVaryByContentEncodings

Önbelleğe alınan yanıtı seçmek için hangi Content-Encoding üst bilgilerin kullanılacağını belirten bir nesne.

Örnekler

Aşağıdaki örnekte, bir sayfanın çıkış önbelleğinden sunulmuş olması için dinamik olarak sıkıştırılmış yanıtın nasıl etkinleştirileceği gösterilmektedir. Kabul edilebilir kodlama "gzip" şeklindedir ve @ OutputCache yönergesinin özniteliği kullanılarak VaryByContentEncodings ayarlanır. Sayfayı barındıran Web sunucusunda dinamik sıkıştırma etkin değilse, çıkış önbelleğinde belirtilen içerik kodlamasını temel alan önbelleğe alınmış bir yanıt olmaz.

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

Açıklamalar

özelliği, VaryByContentEncodings çıktı önbelleğini değiştirmek için sıkıştırma düzenlerini temsil eden Content-Encoding üst bilgilerinin listesini döndürür. Dinamik olarak sıkıştırılmış yanıtlar Önbelleğe Alma, sıkıştırma maliyetinin kaynak için ilk istek sırasında yalnızca bir kez tahakkuk ettirildiğini gösterir.

VaryByContentEncodings özelliği, dinamik olarak sıkıştırılmış farklı içerik kodlamaları için önbelleğe alınmış yanıtların nasıl sunileceğini belirlemek üzere bir isteğin üst bilgisi ile birlikte Accept-Encoding kullanılır. Accept-Encoding üst bilgisi, istemcinin sıkıştırmasını kaldırabileceği kodlamaları listeler.

Önbelleği içerik kodlamasına göre değişiklik gösterecek şekilde ayarladığınızda, yanıtın üst bilgideki değere göre dolaylı olarak değişmesini Accept-Encoding sağlar. bir istek işlendiğinde, Accept-Encoding üst bilgi denetlenip kabul edilebilir ilk kodlama tanımlanır ve aşağıdaki eylemlerden birini yapmak için kullanılır:

  • Listede eşleşen bir kodlama bulunursa VaryByContentEncodings ve önbelleğe alınmış bir yanıt varsa, önbelleğe alınan yanıt gönderilir.

  • Listede eşleşen bir kodlama bulunursa VaryByContentEncodings ancak önbelleğe alınmış bir yanıt yoksa, bir yanıt oluşturulur ve önbelleğe eklenir.

  • Listede eşleşen bir kodlama bulunamazsa VaryByContentEncodings önbellekte kodlanmamış yanıt (kimlik yanıtı olarak da adlandırılır) aranır. Kodlanmamış yanıt bulunursa gönderilir. Aksi takdirde yeni bir kodlanmamış yanıt oluşturulur, gönderilir ve önbellekte depolanır.

Özelliği hakkında VaryByContentEncodings daha fazla bilgi için World Wide Web Consortium (W3C) Web sitesinde bulunan "RFC 2616: Köprü Metni Aktarım Protokolü -- HTTP/1.1" konusuna bakın. İçerik kodlamaları hakkındaki bilgiler "Üst Bilgi Alanı Tanımları" başlıklı 14. bölümdedir.

@ OutputCache yönergesinin özniteliğini kullanarak VaryByContentEncodings özelliğini ayarlayabilirsinizVaryByContentEncodings. Web.config dosyasındaki outputCacheProfile öğesine bir önbellek profili de ekleyebilirsiniz.

VaryByContentEncodings.NET Framework sürüm 3.5'te kullanıma sunulmuştur. Daha fazla bilgi için bkz . Sürümler ve Bağımlılıklar.

Şunlara uygulanır

Ayrıca bkz.