Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Задает значение переменной для политики кэша.
Синтаксис
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 |