Condividi tramite


Metodo IHttpCachePolicy::AppendVaryByHeader

Aggiunge il valore dell'intestazione ai criteri della cache.

Sintassi

virtual HRESULT AppendVaryByHeader(  
   PCSTR pszHeader  
) = 0;  

Parametri

pszHeader
Puntatore a una stringa con terminazione Null che contiene l'intestazione personalizzata da aggiungere.

-oppure-

NULL

Valore restituito

Oggetto HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Valore Descrizione
S_OK Indica che pszHeader è NULL.

-oppure-

Indica che pszHeader viene aggiunto all'elenco di intestazioni delle variabili.
ERROR_NOT_ENOUGH_MEMORY Indica che la memoria dell'heap è esaurita.
E_FAIL Indica che l'operazione non è riuscita.

Commenti

Le classi derivate CHttpModule che si registrano per gli eventi di richiesta o risposta ricevono un puntatore IHttpContext come parametro nel metodo corrispondentevirtual. Per aggiungere un'intestazione personalizzata, chiamare il metodo IHttpContext::GetResponse , il metodo IHttpResponse::GetCachePolicy e infine il AppendVaryByHeader metodo .

AppendVaryByHeader il comportamento dipende dall'implementazione. È consigliabile usare le informazioni seguenti come linea guida, ma potrebbe non essere corretta in tutti gli scenari:

L'implementatore predefinito corrente dell'interfaccia IHttpCachePolicy dichiara un private buffer che contiene dati di intestazione variabile. Durante la costruzione di un implementatore, questo buffer viene inizializzato su vuoto. Ogni volta AppendVaryByHeader che viene chiamato, AppendVaryByHeader restituisce immediatamente S_OK se il pszHeader parametro è NULL. In caso contrario, il buffer viene espanso per contenere una copia di pszHeader, incluso il carattere di terminazione Null, più 1 se il buffer non è attualmente vuoto. Quindi, se il buffer non è vuoto, il carattere ',' viene aggiunto al buffer. Infine, il contenuto di pszHeader, incluso il carattere di terminazione Null, viene aggiunto al buffer.

Note per gli implementatori

Gli implementatori IHttpCachePolicy sono responsabili della copia del pszHeader parametro in un buffer, perché non è garantito che i dati associati a pszHeader siano validi dopo la chiamata a AppendVaryByHeader.

Note per i chiamanti

IHttpCachePolicy i client sono responsabili del passaggio di un parametro NULL pszHeader o di una stringa con terminazione Null al AppendVaryByHeader metodo . I client sono anche responsabili dell'eliminazione di pszHeader dopo la chiamata a AppendVaryByHeader, perché IHttpCachePolicy gli implementatori copiano pszHeader in un buffer interno.

Il buffer interno usato dall'implementatore predefinito IHttpCachePolicy è una stringa delimitata da virgole di intestazioni personalizzate. Pertanto, pszHeader non deve includere il carattere ','.

Requisiti

Tipo Descrizione
Client - IIS 7.0 in Windows Vista
- IIS 7.5 in Windows 7
- IIS 8.0 in Windows 8
- IIS 10.0 in Windows 10
Server - IIS 7.0 in Windows Server 2008
- IIS 7.5 in Windows Server 2008 R2
- IIS 8.0 in Windows Server 2012
- IIS 8.5 in Windows Server 2012 R2
- IIS 10.0 in Windows Server 2016
Prodotto - 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
Intestazione Httpserv.h

Vedere anche

Interfaccia IHttpCachePolicy