HttpCacheVaryByContentEncodings Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Ger ett typsäkert sätt att ange VaryByContentEncodings klassens HttpCachePolicy egenskap.
public ref class HttpCacheVaryByContentEncodings sealed
public sealed class HttpCacheVaryByContentEncodings
type HttpCacheVaryByContentEncodings = class
Public NotInheritable Class HttpCacheVaryByContentEncodings
- Arv
-
HttpCacheVaryByContentEncodings
Exempel
I följande exempel visas hur du aktiverar ett dynamiskt komprimerat svar som kan hanteras från utdatacachen. Den kodning som är acceptabel är "gzip" och anges med hjälp VaryByContentEncodings av direktivets @ OutputCache attribut. Om den webbserver som är värd för sidan inte har dynamisk komprimering aktiverad har utdatacachen inget cachelagrat svar för den angivna innehållskodningen.
<%@ 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>
Kommentarer
Egenskapen VaryByContentEncodings används för att ange om dynamiskt komprimerade svar cachelagras. Cachelagring av dynamiskt komprimerade svar innebär att kostnaden för komprimering endast uppstår en gång, under den första begäran för resursen (eller efter en omstart av programmet) och när cacheobjektet upphör att gälla.
Egenskapen VaryByContentEncodings för klassen HttpCachePolicy identifierar vilka parametrar för begärandehuvud som ASP.NET använder för att unikt identifiera en variant av svaret om det finns flera cachelagrade svar för en resurs. Detta är användbart när ett svar är beroende av en uppsättning klientindata, till exempel rubriker, parametrar eller innehållskodningar.
Klassen HttpCacheVaryByContentEncodings är inte direkt relaterad till HTTP-cachekontrollhuvuden. Det hjälper dock att se till att ett svar på en klient eller en proxy varierar beroende på den angivna innehållskodningen. Genom att ange att cachen ska variera beroende på innehållskodning kan ASP.NET variera svaret efter rubriken Accept-Encoding. När en begäran bearbetas Accept-Encoding kontrolleras huvudet och den första godkända kodningen identifieras och används för att utföra någon av följande åtgärder:
Om en matchande kodning också finns i VaryByContentEncodings listan och det finns ett cachelagrat svar skickas det cachelagrade svaret.
Om en matchande kodning också finns i VaryByContentEncodings listan men det inte finns något cachelagrat svar genereras ett svar och infogas i cachen.
Om en matchande kodning inte hittas i VaryByContentEncodings listan söks cachen efter ett icke-kodat svar, även kallat identitetssvar. Om identitetssvaret hittas skickas det. Annars genereras ett nytt icke-kodat svar och lagras i cacheminnet.
Mer information om egenskapen finns i VaryByContentEncodings RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1, tillgängligt på W3C-webbplatsen (World Wide Web Consortium). Se avsnitt 14, "Rubrikfältdefinitioner", för fullständig information.
Du kan ange VaryByContentEncodings egenskapen med hjälp @ OutputCache av direktivet eller genom att lägga till en profil i elementet outputCacheProfile i Web.config-filen.
Konstruktorer
| Name | Description |
|---|---|
| HttpCacheVaryByContentEncodings() |
Initierar en ny instans av HttpCacheVaryByContentEncodings klassen. |
Egenskaper
| Name | Description |
|---|---|
| Item[String] |
Hämtar eller anger ett värde som anger om cachen varierar beroende på den angivna innehållskodningen. |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetContentEncodings() |
Hämtar en matris med värden som anger vilka innehållskodningar som ska användas för att variera cachen. |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| SetContentEncodings(String[]) |
Anger en matris med värden som anger vilka innehållskodningar som ska användas för att variera cachen. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |