Метод 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 |