IHttpCachePolicy::SetVaryByValue, méthode
Définit la valeur de variable pour la stratégie de cache.
Syntaxe
virtual HRESULT SetVaryByValue(
PCSTR pszValue
) = 0;
Paramètres
pszValue
Pointeur vers une chaîne terminée par un caractère Null qui contient la valeur personnalisée à ajouter.
-ou-
NULL.
Valeur renvoyée
Élément HRESULT
. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.
Valeur | Description |
---|---|
S_OK | Indique que l’opération a réussi. |
E_INVALIDARG | Indique que pszValue a la valeur NULL. |
ERROR_ARITHMETIC_OVERFLOW | Indique que la longueur de pszValue dépasse une limite maximale. |
Remarques
Les classes dérivées CHttpModule qui s’inscrivent aux événements de demande ou de réponse reçoivent un pointeur IHttpContext en tant que paramètre sur la méthode correspondantevirtual
. Pour définir la valeur de la variable, appelez la méthode IHttpContext::GetResponse , la méthode IHttpResponse::GetCachePolicy et enfin la SetVaryByValue
méthode .
SetVaryByValue
le comportement dépend de l’implémentation. Vous devez utiliser les informations suivantes comme recommandations, mais elles peuvent ne pas être correctes dans tous les scénarios :
L’implémenteur par défaut actuel de l’interface IHttpCachePolicy déclare une
private
mémoire tampon qui contient des données variables. Pendant la construction d’un implémenteur, cette mémoire tampon est initialisée pour être vide.SetVaryByValue
retourne E_INVALIDARG immédiatement si le paramètre a lapszValue
valeur NULL. Sinon, la mémoire tampon interne est développée, si nécessaire, pour contenir le contenu depszValue
et le caractère d’arrêt null. EnsuitepszValue
, , suivi du caractère d’arrêt Null, est copié dans cette mémoire tampon. Toutes les données de la mémoire tampon avant l’appel àSetVaryByValue
sont remplacées, si nécessaire, pendant l’appel àSetVaryByValue
.
Remarques pour les implémenteurs
Les implémenteurs IHttpCachePolicy sont chargés de copier le pszValue
paramètre dans une mémoire tampon, car la validité des données associées au pszValue
paramètre n’est pas garantie après l’appel à SetVaryByValue
.
Remarques pour les appelants
IHttpCachePolicy
les clients sont responsables du passage d’une chaîne terminée par un caractère Null à la SetVaryByValue
méthode . Les clients sont également responsables de la suppression de pszValue
après l’appel à SetVaryByValue
, car IHttpCachePolicy
les implémenteurs copient pszValue
dans une mémoire tampon interne.
Spécifications
Type | Description |
---|---|
Client | - IIS 7.0 sur Windows Vista - IIS 7.5 sur Windows 7 - IIS 8.0 sur Windows 8 - IIS 10.0 sur Windows 10 |
Serveur | - IIS 7.0 sur Windows Server 2008 - IIS 7.5 sur Windows Server 2008 R2 - IIS 8.0 sur Windows Server 2012 - IIS 8.5 sur Windows Server 2012 R2 - IIS 10.0 sur Windows Server 2016 |
Produit | - 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 |
En-tête | Httpserv.h |