Sdílet prostřednictvím


HttpCacheVaryByContentEncodings Třída

Definice

Poskytuje způsob, jak nastavit VaryByContentEncodings vlastnost HttpCachePolicy třídy bezpečným způsobem.

public ref class HttpCacheVaryByContentEncodings sealed
public sealed class HttpCacheVaryByContentEncodings
type HttpCacheVaryByContentEncodings = class
Public NotInheritable Class HttpCacheVaryByContentEncodings
Dědičnost
HttpCacheVaryByContentEncodings

Příklady

Následující příklad ukazuje, jak povolit dynamicky komprimovanou odpověď, která se dá obsluhovat z výstupní mezipaměti. Kódování, které je přijatelné, je "gzip" a je nastaveno pomocí VaryByContentEncodings atributu direktivy @ OutputCache . Pokud webový server, který je hostitelem stránky, nemá povolenou dynamickou kompresi, výstupní mezipaměť nebude mít odpověď uloženou v mezipaměti pro zadané kódování obsahu.

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

Poznámky

Vlastnost VaryByContentEncodings slouží k určení, zda jsou dynamicky komprimované odpovědi uloženy do mezipaměti. Ukládání do mezipaměti dynamicky komprimované odpovědi znamenají, že náklady na kompresi se účtují jenom jednou, během prvního požadavku na prostředek (nebo po restartování aplikace) a po vypršení platnosti položky mezipaměti.

Vlastnost VaryByContentEncodings HttpCachePolicy třídy určuje, které parametry hlavičky požadavku ASP.NET používá k jedinečné identifikaci varianty odpovědi, pokud pro prostředek existuje více odpovědí uložených v mezipaměti. To je užitečné, když odpověď závisí na sadě vstupů klienta, jako jsou hlavičky, parametry nebo kódování obsahu.

Třída HttpCacheVaryByContentEncodings přímo nesouvisí s hlavičkami řízení mezipaměti HTTP. Pomáhá ale zajistit, aby odpověď na klienta nebo proxy server byla různá podle zadaného kódování obsahu. Nastavení mezipaměti tak, aby se liší podle kódování obsahu, umožňuje ASP.NET měnit odpověď podle hlavičkyAccept-Encoding. Při zpracování Accept-Encoding požadavku se zkontroluje hlavička a první přijatelné kódování se identifikuje a používá se k provedení jedné z následujících akcí:

  • Pokud se v VaryByContentEncodings seznamu najde odpovídající kódování a existuje odpověď uložená v mezipaměti, odešle se odpověď uložená v mezipaměti.

  • Pokud se v VaryByContentEncodings seznamu nachází také odpovídající kódování, ale neexistuje odpověď uložená v mezipaměti, vygeneruje se odpověď a vloží se do mezipaměti.

  • Pokud se v VaryByContentEncodings seznamu nenajde odpovídající kódování, vyhledá se v mezipaměti nekódovaná odpověď označovaná také jako odpověď identity. Pokud se najde odpověď identity, odešle se. V opačném případě se vygeneruje a uloží nová nekódovaná odpověď do mezipaměti.

Další informace o VaryByContentEncodings vlastnosti naleznete v dokumentu RFC 2616: Hypertext Transfer Protocol – HTTP/1.1, který je k dispozici na webu W3C (World Wide Web Consortium). Úplné podrobnosti najdete v části 14" "Definice polí záhlaví".

Vlastnost můžete nastavit VaryByContentEncodings pomocí @ OutputCache direktivy nebo přidáním profilu do elementu outputCacheProfile v souboru Web.config.

Konstruktory

HttpCacheVaryByContentEncodings()

Inicializuje novou instanci HttpCacheVaryByContentEncodings třídy.

Vlastnosti

Item[String]

Získá nebo nastaví hodnotu, která označuje, jestli se mezipaměť liší podle zadaného kódování obsahu.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetContentEncodings()

Získá pole hodnot, které určují kódování obsahu, které se mají použít pro různé mezipaměti.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
SetContentEncodings(String[])

Nastaví pole hodnot, které určují kódování obsahu, které se mají použít pro různé mezipaměti.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také