IHttpCachePolicy::AppendVaryByHeader (Método)
Anexa el valor de encabezado a la directiva de caché.
Sintaxis
virtual HRESULT AppendVaryByHeader(
PCSTR pszHeader
) = 0;
Parámetros
pszHeader
Puntero a una cadena terminada en null que contiene el encabezado personalizado que se va a anexar.
o bien
NULL.
Valor devuelto
Una clase HRESULT
. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.
Valor | Descripción |
---|---|
S_OK | Indica que pszHeader es NULL.o bien Indica que pszHeader se anexa a la lista de encabezados de variable. |
ERROR_NOT_ENOUGH_MEMORY | Indica que se agota la memoria del montón. |
E_FAIL | Indica que se produjo un error en la operación. |
Comentarios
Las clases derivadas de CHttpModule que se registran para eventos de solicitud o respuesta reciben un puntero IHttpContext como parámetro en el método correspondientevirtual
. Para anexar un encabezado personalizado, llame al método IHttpContext::GetResponse , al método IHttpResponse::GetCachePolicy y, por último, al AppendVaryByHeader
método .
AppendVaryByHeader
el comportamiento depende de la implementación. Debe usar la siguiente información como guía, pero puede que no sea correcta en todos los escenarios:
El implementador predeterminado actual de la interfaz IHttpCachePolicy declara un private
búfer que contiene datos de encabezado de variable. Durante la construcción de un implementador, este búfer se inicializa en vacío. Cada vez AppendVaryByHeader
que se llama a , AppendVaryByHeader
devuelve inmediatamente S_OK si el pszHeader
parámetro es NULL. De lo contrario, el búfer se expande para contener una copia de , incluido el carácter de pszHeader
terminación NULL, más 1 si el búfer no está vacío actualmente. A continuación, si el búfer no está vacío, el carácter "", se anexa al búfer. Por último, el contenido de , incluido el carácter de pszHeader
terminación null, se anexa al búfer.
Notas para los implementadores
Los implementadores de IHttpCachePolicy son responsables de copiar el pszHeader
parámetro en un búfer, ya que no se garantiza que los datos asociados pszHeader
a sean válidos después de la llamada a AppendVaryByHeader
.
Notas para autores de la llamada
IHttpCachePolicy
Los clientes son responsables de pasar un parámetro NULL o una cadena terminada en NULL pszHeader
al AppendVaryByHeader
método . Los clientes también son responsables de eliminar después de pszHeader
la llamada a AppendVaryByHeader
, porque IHttpCachePolicy
los implementadores copian pszHeader
en un búfer interno.
El búfer interno usado por el implementador predeterminado IHttpCachePolicy
es una cadena delimitada por comas de encabezados personalizados. Por lo tanto, pszHeader
no debe incluir el carácter ',' .
Requisitos
Tipo | Descripción |
---|---|
Remoto | - IIS 7.0 en Windows Vista - IIS 7.5 en Windows 7 - IIS 8.0 en Windows 8 - IIS 10.0 en Windows 10 |
Servidor | - IIS 7.0 en Windows Server 2008 - IIS 7.5 en Windows Server 2008 R2 - IIS 8.0 en Windows Server 2012 - IIS 8.5 en Windows Server 2012 R2 - IIS 10.0 en Windows Server 2016 |
Producto | - 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 |
Encabezado | Httpserv.h |