Sdílet prostřednictvím


HttpCacheVaryByContentEncodings Třída

Definice

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

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, nebude výstupní mezipaměť obsahovat 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 v mezipaměti. Ukládání dynamicky komprimovaných odpovědí do mezipaměti znamená, že náklady na kompresi vzniknou 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 VaryByContentEncodingsHttpCachePolicy 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ě klientských vstupů, 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 se odpověď na klienta nebo proxy server liší 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čky Accept-Encoding . Při zpracování požadavku se zkontroluje Accept-Encoding hlavička a první přijatelné kódování se identifikuje a použije se k provedení jedné z následujících akcí:

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

  • Pokud se v VaryByContentEncodings seznamu najde 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ěď, která se také označuje jako odpověď identity. Pokud se najde odpověď identity, odešle se. V opačném případě se vygeneruje nová nekódovaná odpověď a uloží se 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í direktivy @ OutputCache nebo přidáním profilu do outputCacheProfile prvku v souboru Web.config.

Konstruktory

Name Description
HttpCacheVaryByContentEncodings()

Inicializuje novou instanci HttpCacheVaryByContentEncodings třídy.

Vlastnosti

Name Description
Item[String]

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

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven 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()

Získá Type aktuální instance.

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

Vytvoří mělkou kopii aktuálního 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é