HttpCacheVaryByContentEncodings Classe

Definizione

Fornisce un modo indipendente dai tipi per impostare la proprietà VaryByContentEncodings della classe HttpCachePolicy.Provides a type-safe way to set the VaryByContentEncodings property of the HttpCachePolicy class.

public ref class HttpCacheVaryByContentEncodings sealed
public sealed class HttpCacheVaryByContentEncodings
type HttpCacheVaryByContentEncodings = class
Public NotInheritable Class HttpCacheVaryByContentEncodings
Ereditarietà
HttpCacheVaryByContentEncodings

Esempi

Nell'esempio seguente viene illustrato come abilitare una risposta dinamicamente compressa che può essere servita dalla cache di output.The following example shows how to enable a dynamically compressed response that can be served from the output cache. La codifica accettabile è "gzip" ed è impostata tramite l' VaryByContentEncodings attributo della direttiva.The encoding that is acceptable is "gzip" and is set by using the VaryByContentEncodings attribute of the directive. Se per il server Web che ospita la pagina non è abilitata la compressione dinamica, la cache di output non avrà una risposta memorizzata nella cache per la codifica del contenuto specificata.If the Web server that hosts the page does not have dynamic compression enabled, the output cache will not have a cached response for the specified content encoding.

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

Commenti

La VaryByContentEncodings proprietà viene utilizzata per specificare se le risposte compresse dinamicamente vengono memorizzate nella cache.The VaryByContentEncodings property is used to specify whether dynamically compressed responses are cached. La memorizzazione nella cache di risposte compresse dinamicamente significa che il costo della compressione viene eseguito una sola volta, durante la prima richiesta per la risorsa (o dopo il riavvio di un'applicazione) e quando l'elemento della cache scade.Caching dynamically compressed responses means that the cost of compression is incurred only one time, during the first request for the resource (or after an application restart) and when the cache item expires.

La VaryByContentEncodings proprietàHttpCachePolicy della classe identifica i parametri dell'intestazione della richiesta usati da ASP.NET per identificare in modo univoco una variante della risposta se sono presenti più risposte memorizzate nella cache per una risorsa.The VaryByContentEncodings property of the HttpCachePolicy class identifies which request header parameters ASP.NET uses to uniquely identify a variation of the response if there are multiple cached responses for a resource. Questa operazione è utile quando una risposta dipende da un set di input client, ad esempio intestazioni, parametri o codifiche del contenuto.This is useful when a response depends on a set of client inputs, such as headers, parameters, or content encodings.

La HttpCacheVaryByContentEncodings classe non è direttamente correlata alle intestazioni di controllo della cache HTTP.The HttpCacheVaryByContentEncodings class is not directly related to HTTP cache-control headers. Tuttavia, consente di verificare che una risposta a un client o a un proxy varia in base alla codifica del contenuto specificata.However, it helps make sure that a response to a client or a proxy varies by the specified content encoding. L'impostazione della cache in modo da variare in base alla codifica del contenuto consente a Accept-Encoding ASP.NET di variare la risposta in base all'intestazione.Setting the cache to vary by content encoding enables ASP.NET to vary the response by the Accept-Encoding header. Quando una richiesta viene elaborata, Accept-Encoding l'intestazione viene controllata e la prima codifica accettabile viene identificata e utilizzata per eseguire una delle azioni seguenti:When a request is processed, the Accept-Encoding header is checked and the first acceptable encoding is identified and used to take one of the following actions:

  • Se è presente anche una codifica corrispondente nell' VaryByContentEncodings elenco ed esiste una risposta memorizzata nella cache, viene inviata la risposta memorizzata nella cache.If a matching encoding is also found in the VaryByContentEncodings list and a cached response exists, the cached response is sent.

  • Se nell' VaryByContentEncodings elenco è presente anche una codifica corrispondente ma non esiste una risposta memorizzata nella cache, viene generata e inserita una risposta nella cache.If a matching encoding is also found in the VaryByContentEncodings list but a cached response does not exist, a response is generated and inserted into the cache.

  • Se non viene trovata una codifica corrispondente nell' VaryByContentEncodings elenco, viene eseguita la ricerca di una risposta non codificata, detta anche risposta di identità.If a matching encoding is not found in the VaryByContentEncodings list, the cache is searched for a non-encoded response, also referred to as the identity response. Se la risposta di identità viene trovata, viene inviata.If the identity response is found, it is sent. In caso contrario, una nuova risposta non codificata viene generata e archiviata nella cache.Otherwise a new non-encoded response is generated and stored in the cache.

Per ulteriori informazioni sulla VaryByContentEncodings proprietà, vedere RFC 2616: Hypertext Transfer Protocol--HTTP/1.1, disponibile nel sito Web World Wide Web Consortium (W3C).For more information about the VaryByContentEncodings property, see RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1, available on the World Wide Web Consortium (W3C) Web site. Per informazioni dettagliate, vedere la sezione 14 "definizioni dei campi di intestazione".See section 14, "Header Field Definitions", for complete details.

Per impostare la VaryByContentEncodings proprietà, è possibile utilizzare la direttiva o aggiungere un profilo all'elemento nel file Web. config.You can set the VaryByContentEncodings property by using the directive or by adding a profile to the element in the Web.config file.

Costruttori

HttpCacheVaryByContentEncodings()

Inizializza una nuova istanza della classe HttpCacheVaryByContentEncodings.Initializes a new instance of the HttpCacheVaryByContentEncodings class.

Proprietà

Item[String]

Ottiene o imposta un valore che indica se la cache varia in base alla codifica del contenuto specificata.Gets or sets a value that indicates whether the cache varies according to the specified content encoding.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetContentEncodings()

Ottiene una matrice di valori che specificano le codifiche del contenuto da usare per variare la cache.Gets an array of values which specify the content encodings to be used for varying the cache.

GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
SetContentEncodings(String[])

Imposta una matrice di valori che specificano le codifiche del contenuto da usare per variare la cache.Sets an array of values which specify the content encodings to be used for varying the cache.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Si applica a

Vedi anche