Поделиться через


Метод IHttpCachePolicy::SetVaryByValue

Задает значение переменной для политики кэша.

Синтаксис

virtual HRESULT SetVaryByValue(  
   PCSTR pszValue  
) = 0;  

Параметры

pszValue
Указатель на строку, завершающуюся значением NULL, которая содержит добавляемое пользовательское значение.

-или-

NULL.

Возвращаемое значение

Объект HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.

Значение Описание:
S_OK Указывает, что операция выполнена успешно.
E_INVALIDARG Указывает, что pszValue имеет значение NULL.
ERROR_ARITHMETIC_OVERFLOW Указывает, что длина pszValue превышает максимальное ограничение.

Комментарии

Производные классы CHttpModule, которые регистрируются для событий запроса или ответа, получают указатель IHttpContext в качестве параметра в соответствующем virtual методе. Чтобы задать значение переменной, вызовите метод IHttpContext::GetResponse , метод IHttpResponse::GetCachePolicy и, наконец SetVaryByValue , метод .

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

  • Текущий реализующий интерфейс IHttpCachePolicy по умолчанию объявляет private буфер, содержащий переменные данные. Во время создания реализации этот буфер инициализируется пустым.

  • SetVaryByValue возвращает E_INVALIDARG немедленно, pszValue если параметр имеет значение NULL. В противном случае внутренний буфер при необходимости расширяется для хранения содержимого pszValue и символа завершения null. Затем pszValueв этот буфер копируется символ завершения null. Все данные в буфере до вызова SetVaryByValue перезаписываются при необходимости во время вызова SetVaryByValue.

Примечания для разработчиков

Разработчики IHttpCachePolicy отвечают за копирование pszValue параметра в буфер, так как данные, связанные с pszValue параметром, не гарантируют допустимость после вызова SetVaryByValue.

Примечания для вызывающих абонентов

IHttpCachePolicy клиенты отвечают за передачу в метод строки с пустым завершением SetVaryByValue . Клиенты также отвечают за удаление pszValue после вызова SetVaryByValue, так как IHttpCachePolicy реализующие копируют pszValue во внутренний буфер.

Требования

Тип Описание
клиент — IIS 7.0 в Windows Vista
— IIS 7.5 в Windows 7
— IIS 8.0 в Windows 8
— IIS 10.0 в Windows 10
Сервер — IIS 7.0 в Windows Server 2008
— IIS 7.5 в Windows Server 2008 R2
— IIS 8.0 в Windows Server 2012
— IIS 8.5 в Windows Server 2012 R2
— IIS 10.0 в Windows Server 2016
Продукт — IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0
— IIS Express 7.5, IIS Express 8.0, IIS Express 10.0
Заголовок Httpserv.h

См. также:

Интерфейс IHttpCachePolicy