Condividi tramite


Metodo IHttpCachePolicy::AppendVaryByQueryString

Aggiunge il valore della query ai criteri della cache.

Sintassi

virtual HRESULT AppendVaryByQueryString(  
   PCSTR pszParam  
) = 0;  

Parametri

pszParam
Puntatore a una stringa con terminazione null contenente la stringa di query 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 pszParam è NULL.

-oppure-

Indica che pszParam viene aggiunto all'elenco di query.
ERROR_NOT_ENOUGH_MEMORY Indica che la memoria heap è esaurita.
E_FAIL Indica che l'operazione non è riuscita.

Commenti

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

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

L'implementazione predefinita corrente dell'interfaccia IHttpCachePolicy dichiara un private buffer che contiene dati di intestazione delle variabili. Durante la costruzione di un implementatore, questo buffer viene inizializzato in vuoto. Ogni volta AppendVaryByQueryString che viene chiamato, AppendVaryByQueryString restituisce immediatamente S_OK se il pszParam parametro è NULL. In caso contrario, il buffer viene espanso per contenere una copia di pszParam, incluso il carattere di terminazione Null, più 1 se il buffer non è attualmente vuoto. Se quindi il buffer non è vuoto, il carattere ',' viene aggiunto al buffer. Infine, il contenuto di pszParam, incluso il carattere di terminazione Null, viene aggiunto al buffer.

Note per gli implementatori

Gli implementatori IHttpCachePolicy sono responsabili della copia del pszParam parametro in un buffer, perché i dati associati pszParam a non sono garantiti essere validi dopo la chiamata a AppendVaryByQueryString.

Note per i chiamanti

IHttpCachePolicy i client sono responsabili del passaggio di un parametro NULL o di una stringa con terminazione null pszParam al AppendVaryByHeader metodo. I client sono anche responsabili della eliminazione dopo pszParam la chiamata a AppendVaryByHeader, perché IHttpCachePolicy gli implementer copiano pszParam in un buffer interno.

Il buffer interno usato dall'implementatore predefinito IHttpCachePolicy è una stringa delimitata da virgole di intestazioni personalizzate. Pertanto, pszParam 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