Бөлісу құралы:


HttpCacheVaryByContentEncodings Класс

Определение

Предоставляет типобезопасный способ задания VaryByContentEncodings свойства HttpCachePolicy класса.

public ref class HttpCacheVaryByContentEncodings sealed
public sealed class HttpCacheVaryByContentEncodings
type HttpCacheVaryByContentEncodings = class
Public NotInheritable Class HttpCacheVaryByContentEncodings
Наследование
HttpCacheVaryByContentEncodings

Примеры

В следующем примере показано, как включить динамически сжатый ответ, который можно обслуживать из выходного кэша. Кодировка, допустимая, является gzip и устанавливается с помощью VaryByContentEncodings атрибута директивы @ OutputCache . Если веб-сервер, на котором размещена страница, не включает динамическое сжатие, выходной кэш не будет иметь кэшированный ответ для указанной кодировки содержимого.

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

Комментарии

Свойство VaryByContentEncodings используется для указания того, кэшируются ли динамически сжатые ответы. Кэширование динамически сжатых ответов означает, что затраты на сжатие возникают только один раз, во время первого запроса ресурса (или после перезапуска приложения) и после истечения срока действия элемента кэша.

Свойство VaryByContentEncodings класса определяет, какие параметры заголовка HttpCachePolicy запроса ASP.NET используются для уникальной идентификации варианта ответа, если для ресурса существует несколько кэшированных ответов. Это полезно, если ответ зависит от набора входных данных клиента, таких как заголовки, параметры или кодировки содержимого.

Класс HttpCacheVaryByContentEncodings не связан напрямую с заголовками управления кэшем HTTP. Однако он помогает убедиться, что ответ на клиент или прокси-сервер зависит от указанной кодировки содержимого. Задание кэша в зависимости от кодирования содержимого позволяет ASP.NET изменять ответ по заголовку Accept-Encoding . При обработке Accept-Encoding запроса заголовок проверяется, а первый допустимый кодирование определяется и используется для выполнения одного из следующих действий:

  • Если в списке также найдена VaryByContentEncodings соответствующая кодировка, а кэшированный ответ существует, отправляется кэшированный ответ.

  • Если кодировка сопоставления также найдена в VaryByContentEncodings списке, но кэшированный ответ не существует, создается и вставляется ответ в кэш.

  • Если в списке не найдена VaryByContentEncodings кодировка, кэш выполняет поиск некодированного ответа, также называемого ответом удостоверения. Если найден ответ удостоверения, он отправляется. В противном случае создается и хранится новый некодированный ответ.

Дополнительные сведения о свойстве VaryByContentEncodings см. в статье RFC 2616: протокол hypertext Transfer Protocol - HTTP/1.1, доступный на веб-сайте консорциума W3C. Полные сведения см. в разделе 14", "Определения полей заголовков".

Свойство можно задать VaryByContentEncodings с помощью @ OutputCache директивы или добавления профиля в outputCacheProfile элемент в файле Web.config.

Конструкторы

Имя Описание
HttpCacheVaryByContentEncodings()

Инициализирует новый экземпляр класса HttpCacheVaryByContentEncodings.

Свойства

Имя Описание
Item[String]

Возвращает или задает значение, указывающее, зависит ли кэш от указанной кодировки содержимого.

Методы

Имя Описание
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetContentEncodings()

Возвращает массив значений, определяющих кодировки содержимого, которые будут использоваться для изменения кэша.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
SetContentEncodings(String[])

Задает массив значений, определяющих кодировки содержимого, которые будут использоваться для изменения кэша.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел