Aracılığıyla paylaş


HttpCacheVaryByContentEncodings Sınıf

Tanım

sınıfının özelliğini HttpCachePolicy ayarlamak VaryByContentEncodings için tür açısından güvenli bir yol sağlar.

public ref class HttpCacheVaryByContentEncodings sealed
public sealed class HttpCacheVaryByContentEncodings
type HttpCacheVaryByContentEncodings = class
Public NotInheritable Class HttpCacheVaryByContentEncodings
Devralma
HttpCacheVaryByContentEncodings

Örnekler

Aşağıdaki örnekte, çıkış önbelleğinden sunabilecek dinamik olarak sıkıştırılmış bir yanıtın nasıl etkinleştirileceği gösterilmektedir. Kabul edilebilir kodlama "gzip" şeklindedir ve yönergesinin VaryByContentEncodings@ OutputCache özniteliği kullanılarak ayarlanır. Sayfayı barındıran Web sunucusunda dinamik sıkıştırma etkin değilse, çıktı önbelleğinde belirtilen içerik kodlaması için ö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

VaryByContentEncodings özelliği, dinamik olarak sıkıştırılmış yanıtların önbelleğe alınıp alınmayacağını belirtmek için kullanılır. Dinamik olarak sıkıştırılmış yanıtları önbelleğe almak, kaynak için ilk istek (veya uygulama yeniden başlatıldıktan sonra) ve önbellek öğesinin süresi dolduğunda sıkıştırma maliyetinin yalnızca bir kez tahakkuk ettirilmesi anlamına gelir.

VaryByContentEncodings sınıfının özelliğiHttpCachePolicy, ASP.NET kaynak için birden çok önbelleğe alınmış yanıt varsa yanıtın bir çeşitlemini benzersiz olarak tanımlamak için hangi istek üst bilgisi parametrelerini kullandığını tanımlar. Bu, yanıt üst bilgiler, parametreler veya içerik kodlamaları gibi istemci girişleri kümesine bağlı olduğunda kullanışlıdır.

HttpCacheVaryByContentEncodings sınıfı, HTTP önbellek denetimi üst bilgileriyle doğrudan ilişkili değildir. Ancak, bir istemciye veya ara sunucuya verilen yanıtın belirtilen içerik kodlamasına göre değiştiğinden emin olunmasını sağlar. önbelleği içerik kodlamasına göre değişiklik gösterecek şekilde ayarlamak, ASP.NET yanıtı üst bilgiye göre değişiklik göstermesine Accept-Encoding olanak tanır. 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 da bulunursa VaryByContentEncodings ve önbelleğe alınmış bir yanıt varsa, önbelleğe alınan yanıt gönderilir.

  • Eşleşen bir kodlama da listede bulunur 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 bulunmazsa VaryByContentEncodings , önbellekte kodlanmamış yanıt (kimlik yanıtı olarak da adlandırılır) aranır. Kimlik yanıtı bulunursa gönderilir. Aksi takdirde yeni bir kodlanmamış yanıt oluşturulur ve önbellekte depolanır.

Özelliği hakkında VaryByContentEncodings daha fazla bilgi için bkz. RFC 2616: Köprü Metni Aktarım Protokolü -- HTTP/1.1, World Wide Web Consortium (W3C) Web sitesinde kullanılabilir. Tüm ayrıntılar için "Üst Bilgi Alanı Tanımları" başlıklı 14. bölüme bakın.

yönergesini VaryByContentEncodings kullanarak @ OutputCache veya Web.config dosyasındaki outputCacheProfile öğesine bir profil ekleyerek özelliğini ayarlayabilirsiniz.

Oluşturucular

Name Description
HttpCacheVaryByContentEncodings()

HttpCacheVaryByContentEncodings sınıfının yeni bir örneğini başlatır.

Özellikler

Name Description
Item[String]

Önbelleğin belirtilen içerik kodlamasına göre değişip değişmediğini gösteren bir değer alır veya ayarlar.

Yöntemler

Name Description
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetContentEncodings()

Önbelleği değiştirmek için kullanılacak içerik kodlamalarını belirten bir değer dizisi alır.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
SetContentEncodings(String[])

Önbelleği değiştirmek için kullanılacak içerik kodlamalarını belirten bir değer dizisi ayarlar.

ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.