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.
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
privatebuffer che contiene dati variabili. Durante la costruzione di un implementatore, questo buffer viene inizializzato su vuoto.SetVaryByValuerestituisce E_INVALIDARG immediatamente se ilpszValueparametro è NULL. In caso contrario, il buffer interno viene espanso, se necessario, per contenere il contenuto dipszValuee il carattere di terminazione Null. QuindipszValue, seguito dal carattere di terminazione Null, viene copiato in questo buffer. Tutti i dati nel buffer prima della chiamata aSetVaryByValuevengono sovrascritti, se necessario, durante la chiamata aSetVaryByValue.
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 |