Condividi tramite


Metodo IHttpCachePolicy::SetVaryByValue

Imposta il valore della variabile per i criteri della cache.

Sintassi

virtual HRESULT SetVaryByValue(  
   PCSTR pszValue  
) = 0;  

Parametri

pszValue
Puntatore a una stringa con terminazione Null contenente il valore personalizzato da accodare.

-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 l'operazione è riuscita.
E_INVALIDARG Indica che pszValue è NULL.
ERROR_ARITHMETIC_OVERFLOW Indica che la lunghezza di pszValue supera un limite massimo.

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 impostare il valore della variabile, chiamare il metodo IHttpContext::GetResponse , il metodo IHttpResponse::GetCachePolicy e infine il SetVaryByValue metodo .

SetVaryByValue 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 variabili. Durante la costruzione di un implementatore, questo buffer viene inizializzato su vuoto.

  • SetVaryByValue restituisce E_INVALIDARG immediatamente se il pszValue parametro è NULL. In caso contrario, il buffer interno viene espanso, se necessario, per contenere il contenuto di pszValue e il carattere di terminazione Null. Quindi pszValue, seguito dal carattere di terminazione Null, viene copiato in questo buffer. Tutti i dati nel buffer prima della chiamata a SetVaryByValue vengono sovrascritti, se necessario, durante la chiamata a SetVaryByValue.

Note per gli implementatori

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

Note per i chiamanti

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

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