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


Метод IHttpCachePolicy::AppendVaryByQueryString

Добавляет значение запроса к политике кэша.

Синтаксис

virtual HRESULT AppendVaryByQueryString(  
   PCSTR pszParam  
) = 0;  

Параметры

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

-или-

NULL.

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

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

Значение Описание:
S_OK Указывает, что pszParam имеет значение NULL.

-или-

Указывает, что pszParam добавляется в список запросов.
ERROR_NOT_ENOUGH_MEMORY Указывает, что память кучи исчерпана.
E_FAIL Указывает, что операция завершилась сбоем.

Комментарии

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

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

Текущий реализующий интерфейс IHttpCachePolicy по умолчанию объявляет private буфер, содержащий данные заголовка переменной. Во время создания реализующего объекта этот буфер инициализируется пустым. AppendVaryByQueryString При каждом вызове немедленно возвращает S_OK, AppendVaryByQueryString если pszParam параметр имеет значение NULL. В противном случае буфер разворачивается для хранения копии pszParam, включая символ завершения со значением NULL, а также значение 1, если буфер в настоящее время не пуст. Затем, если буфер не пуст, к буферу добавляется символ ",". Наконец, содержимое pszParam, включая символ завершения null, добавляется в буфер.

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

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

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

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

Внутренний буфер, используемый реализутелем по умолчанию IHttpCachePolicy , представляет собой строку пользовательских заголовков с разделителями-запятыми. pszParam Поэтому не должен включать символ ",".

Требования

Тип Описание
клиент — 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