Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
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
privatemé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.SetVaryByValueretourne E_INVALIDARG immédiatement si le paramètre a lapszValuevaleur NULL. Sinon, la mémoire tampon interne est développée, si nécessaire, pour contenir le contenu depszValueet 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 àSetVaryByValuesont 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 |