Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 |