Método IHttpCachePolicy::AppendVaryByHeader
Acrescenta o valor do cabeçalho à política de cache.
Sintaxe
virtual HRESULT AppendVaryByHeader(
PCSTR pszHeader
) = 0;
Parâmetros
pszHeader
Um ponteiro para uma cadeia de caracteres terminada em nulo que contém o cabeçalho personalizado a ser acrescentado.
-ou-
NULL.
Valor Retornado
Um HRESULT
. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.
Valor | Descrição |
---|---|
S_OK | Indica que pszHeader é NULL.-ou- Indica que pszHeader é acrescentado à lista de cabeçalhos de variável. |
ERROR_NOT_ENOUGH_MEMORY | Indica que a memória de heap está esgotada. |
E_FAIL | Indica que a operação falhou. |
Comentários
Classes derivadas de CHttpModule que se registram para eventos de solicitação ou resposta recebem um ponteiro IHttpContext como um parâmetro no método correspondentevirtual
. Para acrescentar um cabeçalho personalizado, chame o método IHttpContext::GetResponse , o método IHttpResponse::GetCachePolicy e, por fim, o AppendVaryByHeader
método .
AppendVaryByHeader
O comportamento depende da implementação. Você deve usar as seguintes informações como uma diretriz, mas elas podem não estar corretas em todos os cenários:
O implementador padrão atual da interface IHttpCachePolicy declara um private
buffer que contém dados de cabeçalho variável. Durante a construção de um implementador, esse buffer é inicializado como vazio. Sempre que AppendVaryByHeader
for chamado, AppendVaryByHeader
retornará imediatamente S_OK se o pszHeader
parâmetro for NULL. Caso contrário, o buffer será expandido para manter uma cópia de pszHeader
, incluindo o caractere de terminação nula, mais 1 se o buffer não estiver vazio no momento. Em seguida, se o buffer não estiver vazio, o caractere ',' será acrescentado ao buffer. Por fim, o conteúdo de pszHeader
, incluindo o caractere de terminação nula, é acrescentado ao buffer.
Notas para implementadores
Os implementadores IHttpCachePolicy são responsáveis por copiar o pszHeader
parâmetro em um buffer, pois não há garantia de que os dados associados pszHeader
a sejam válidos após a chamada para AppendVaryByHeader
.
Observações para chamadores
IHttpCachePolicy
os clientes são responsáveis por passar um parâmetro NULL pszHeader
ou uma cadeia de caracteres terminada em nulo para o AppendVaryByHeader
método . Os clientes também são responsáveis por descartar pszHeader
após a chamada para AppendVaryByHeader
, porque IHttpCachePolicy
os implementadores copiam pszHeader
em um buffer interno.
O buffer interno usado pelo implementador padrão IHttpCachePolicy
é uma cadeia de caracteres delimitada por vírgulas de cabeçalhos personalizados. Portanto, pszHeader
não deve incluir o caractere ''.
Requisitos
Type | Descrição |
---|---|
Cliente | – IIS 7.0 no Windows Vista – IIS 7.5 no Windows 7 – IIS 8.0 no Windows 8 – IIS 10.0 no Windows 10 |
Servidor | – IIS 7.0 no Windows Server 2008 – IIS 7.5 no Windows Server 2008 R2 – IIS 8.0 no Windows Server 2012 – IIS 8.5 no Windows Server 2012 R2 – IIS 10.0 no Windows Server 2016 |
Produto | - 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 |
parâmetro | Httpserv.h |