HttpCacheVaryByContentEncodings Klas

Definitie

Biedt een typeveilige manier om de VaryByContentEncodings eigenschap van de HttpCachePolicy klasse in te stellen.

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

Voorbeelden

In het volgende voorbeeld ziet u hoe u een dynamisch gecomprimeerd antwoord inschakelt dat kan worden geleverd vanuit de uitvoercache. De codering die acceptabel is, is "gzip" en wordt ingesteld met behulp van het VaryByContentEncodings kenmerk van de @ OutputCache richtlijn. Als voor de webserver die als host fungeert voor de pagina geen dynamische compressie is ingeschakeld, heeft de uitvoercache geen antwoord in de cache voor de opgegeven inhoudscodering.

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

Opmerkingen

De VaryByContentEncodings eigenschap wordt gebruikt om op te geven of dynamisch gecomprimeerde antwoorden in de cache worden opgeslagen. Dynamisch gecomprimeerde reacties in de cache opslaan betekent dat de compressiekosten slechts één keer worden gemaakt, tijdens de eerste aanvraag voor de resource (of nadat een toepassing opnieuw is opgestart) en wanneer het cache-item verloopt.

De eigenschap VaryByContentEncodings van de klasse HttpCachePolicy identificeert welke aanvraagheaderparameters ASP.NET gebruikt om een variatie van het antwoord te identificeren als er meerdere reacties in de cache voor een resource zijn. Dit is handig wanneer een antwoord afhankelijk is van een set clientinvoer, zoals headers, parameters of inhoudscoderingen.

De HttpCacheVaryByContentEncodings klasse is niet rechtstreeks gerelateerd aan HEADERs voor HTTP-cachebeheer. Het helpt er echter voor te zorgen dat een reactie op een client of proxy verschilt per opgegeven inhoudscodering. Als u de cache instelt op basis van inhoudscodering, kan ASP.NET het antwoord variëren per Accept-Encoding header. Wanneer een aanvraag wordt verwerkt, wordt de Accept-Encoding header gecontroleerd en wordt de eerste acceptabele codering geïdentificeerd en gebruikt om een van de volgende acties uit te voeren:

  • Als er ook een overeenkomende codering wordt gevonden in de lijst en er een antwoord in de VaryByContentEncodings cache bestaat, wordt het antwoord in de cache verzonden.

  • Als er ook een overeenkomende codering wordt gevonden in de lijst, maar er geen antwoord in de VaryByContentEncodings cache bestaat, wordt er een antwoord gegenereerd en ingevoegd in de cache.

  • Als een overeenkomende codering niet in de VaryByContentEncodings lijst wordt gevonden, wordt de cache gezocht naar een niet-gecodeerd antwoord, ook wel het identiteitsantwoord genoemd. Als het identiteitsantwoord wordt gevonden, wordt het verzonden. Anders wordt er een nieuw niet-gecodeerd antwoord gegenereerd en opgeslagen in de cache.

Zie RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1, beschikbaar op de VaryByContentEncodings voor meer informatie over de eigenschap. Zie sectie 14, "Velddefinities koptekst", voor volledige details.

U kunt de VaryByContentEncodings eigenschap instellen met behulp van de @ OutputCache instructie of door een profiel toe te voegen aan het outputCacheProfile element in het Web.config-bestand.

Constructors

Name Description
HttpCacheVaryByContentEncodings()

Initialiseert een nieuw exemplaar van de HttpCacheVaryByContentEncodings klasse.

Eigenschappen

Name Description
Item[String]

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de cache afhankelijk is van de opgegeven inhoudscodering.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetContentEncodings()

Hiermee haalt u een matrix met waarden op waarmee de inhoudscoderingen worden opgegeven die moeten worden gebruikt voor verschillende caches.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
SetContentEncodings(String[])

Hiermee stelt u een matrix met waarden in waarmee de inhoudscoderingen worden opgegeven die moeten worden gebruikt voor verschillende caches.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op

Zie ook