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


Метод IHttpCachePolicy::AppendVaryByHeader

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

Синтаксис

virtual HRESULT AppendVaryByHeader(  
   PCSTR pszHeader  
) = 0;  

Параметры

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

-или-

NULL.

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

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

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

-или-

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

Комментарии

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

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

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

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

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

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

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

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

Требования

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