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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per