HttpCacheVaryByContentEncodings Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 sunabileceğiniz dinamik olarak sıkıştırılmış bir yanıtın nasıl etkinleştirileceği gösterilmektedir. Kabul edilebilir kodlama "gzip" ve yönergesinin @ OutputCache
ö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ı 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 Alma, kaynak için ilk istek sırasında (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 ettiği anlamına gelir.
VaryByContentEncodings sınıfının özelliğiHttpCachePolicy, ASP.NET bir kaynak için birden çok önbelleğe alınmış yanıt varsa yanıtın bir varyasyonunu 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 bir dizi istemci girişlerine bağlı olduğunda yararlıdır.
HttpCacheVaryByContentEncodings sınıfı, HTTP önbellek denetimi üst bilgileriyle doğrudan ilgili değildir. Ancak, bir istemciye veya ara sunucuya verilen yanıtın belirtilen içerik kodlamasına göre değişiklik gösterdiğinden emin olunmaya yardımcı olur. Ö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 üst Accept-Encoding
bilgi denetlenip kabul edilebilir ilk kodlama tanımlanır ve aşağıdaki eylemlerden birini uygulamak 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.
Listede eşleşen bir kodlama da 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 bulunamazsa 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 bulunabilir. 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
HttpCacheVaryByContentEncodings() |
HttpCacheVaryByContentEncodings sınıfının yeni bir örneğini başlatır. |
Özellikler
Item[String] |
Önbelleğin belirtilen içerik kodlamasına göre değişip değişmediğini belirten bir değer alır veya ayarlar. |
Yöntemler
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() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ 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 dizeyi döndürür. (Devralındığı yer: Object) |