Udostępnij za pośrednictwem


HttpCacheVaryByContentEncodings Klasa

Definicja

Zapewnia bezpieczny typ sposób ustawiania VaryByContentEncodings właściwości HttpCachePolicy klasy.

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

Przykłady

W poniższym przykładzie pokazano, jak włączyć dynamicznie skompresowaną odpowiedź, która może być obsługiwana z wyjściowej pamięci podręcznej. Kodowanie, które jest dopuszczalne, to "gzip" i jest ustawiane przy użyciu VaryByContentEncodings atrybutu @ OutputCache dyrektywy. Jeśli serwer sieci Web hostujący stronę nie ma włączonej dynamicznej kompresji, pamięć podręczna danych wyjściowych nie będzie mieć buforowanej odpowiedzi dla określonego kodowania zawartości.

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

Uwagi

Właściwość służy do określania VaryByContentEncodings , czy dynamicznie skompresowane odpowiedzi są buforowane. Buforowanie dynamicznie skompresowane odpowiedzi oznaczają, że koszt kompresji jest naliczany tylko raz, podczas pierwszego żądania zasobu (lub po ponownym uruchomieniu aplikacji) i po wygaśnięciu elementu pamięci podręcznej.

Właściwość VaryByContentEncodings HttpCachePolicy klasy identyfikuje parametry nagłówka żądania, których ASP.NET używa do unikatowego identyfikowania odmiany odpowiedzi, jeśli istnieje wiele buforowanych odpowiedzi dla zasobu. Jest to przydatne, gdy odpowiedź zależy od zestawu danych wejściowych klienta, takich jak nagłówki, parametry lub kodowanie zawartości.

Klasa HttpCacheVaryByContentEncodings nie jest bezpośrednio powiązana z nagłówkami http cache-control. Jednak pomaga upewnić się, że odpowiedź na klienta lub serwer proxy różni się w zależności od określonego kodowania zawartości. Ustawienie pamięci podręcznej w różny sposób w zależności od kodowania zawartości umożliwia ASP.NET zmianę odpowiedzi według nagłówkaAccept-Encoding. Po przetworzeniu Accept-Encoding żądania nagłówek jest sprawdzany, a pierwsze dopuszczalne kodowanie jest identyfikowane i używane do wykonywania jednej z następujących akcji:

  • Jeśli na liście znajduje się VaryByContentEncodings również zgodne kodowanie i istnieje buforowana odpowiedź, wysyłana jest buforowana odpowiedź.

  • Jeśli na liście znajduje się VaryByContentEncodings również zgodne kodowanie, ale nie istnieje buforowana odpowiedź, odpowiedź zostanie wygenerowana i wstawiona do pamięci podręcznej.

  • Jeśli na liście nie znaleziono VaryByContentEncodings pasującego kodowania, pamięć podręczna jest wyszukiwana jako niekodowana odpowiedź, nazywana również odpowiedzią na tożsamość. Jeśli zostanie znaleziona odpowiedź tożsamości, zostanie wysłana. W przeciwnym razie zostanie wygenerowana nowa niekodowana odpowiedź i zapisana w pamięci podręcznej.

Aby uzyskać więcej informacji na temat VaryByContentEncodings właściwości, zobacz RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1, dostępny w witrynie internetowej World Wide Web Consortium (W3C). Aby uzyskać szczegółowe informacje, zobacz sekcję 14 , "Definicje pól nagłówka".

Właściwość można ustawić VaryByContentEncodings przy użyciu @ OutputCache dyrektywy lub dodając profil do outputCacheProfile elementu w pliku Web.config.

Konstruktory

HttpCacheVaryByContentEncodings()

Inicjuje nowe wystąpienie klasy HttpCacheVaryByContentEncodings.

Właściwości

Item[String]

Pobiera lub ustawia wartość wskazującą, czy pamięć podręczna różni się w zależności od określonego kodowania zawartości.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetContentEncodings()

Pobiera tablicę wartości, które określają kodowanie zawartości, które mają być używane w celu zmieniania pamięci podręcznej.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
SetContentEncodings(String[])

Ustawia tablicę wartości, które określają kodowanie zawartości, które mają być używane w celu zmieniania pamięci podręcznej.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też