IHttpCachePolicy::AppendVaryByHeader, méthode
Ajoute la valeur d’en-tête à la stratégie de cache.
Syntaxe
virtual HRESULT AppendVaryByHeader(
PCSTR pszHeader
) = 0;
Paramètres
pszHeader
Pointeur vers une chaîne terminée par null qui contient l’en-tête personnalisé à 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 pszHeader a la valeur NULL.-ou- Indique que pszHeader est ajouté à la liste d’en-têtes de variable. |
ERROR_NOT_ENOUGH_MEMORY | Indique que la mémoire du tas est épuisée. |
E_FAIL | Indique que l’opération a échoué. |
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 ajouter un en-tête personnalisé, appelez la méthode IHttpContext::GetResponse , la méthode IHttpResponse::GetCachePolicy et enfin la AppendVaryByHeader
méthode .
AppendVaryByHeader
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 d’en-tête de variable. Pendant la construction d’un implémenteur, cette mémoire tampon est initialisée pour être vide. Chaque fois AppendVaryByHeader
qu’est appelé, AppendVaryByHeader
retourne immédiatement S_OK si le paramètre a la pszHeader
valeur NULL. Sinon, la mémoire tampon est développée pour contenir une copie de pszHeader
, y compris le caractère d’arrêt null, plus 1 si la mémoire tampon n’est pas actuellement vide. Ensuite, si la mémoire tampon n’est pas vide, le caractère « , » est ajouté à la mémoire tampon. Enfin, le contenu de pszHeader
, y compris le caractère d’arrêt Null, est ajouté à la mémoire tampon.
Remarques pour les implémenteurs
Les implémenteurs IHttpCachePolicy sont chargés de copier le pszHeader
paramètre dans une mémoire tampon, car la validité des données associées à pszHeader
n’est pas garantie après l’appel à AppendVaryByHeader
.
Remarques pour les appelants
IHttpCachePolicy
Les clients sont responsables du passage d’un paramètre NULL pszHeader
ou d’une chaîne terminée par null à la AppendVaryByHeader
méthode . Les clients sont également responsables de la suppression de pszHeader
après l’appel à AppendVaryByHeader
, car IHttpCachePolicy
les implémenteurs copient pszHeader
dans une mémoire tampon interne.
La mémoire tampon interne utilisée par l’implémenteur par défaut IHttpCachePolicy
est une chaîne d’en-têtes personnalisés délimitée par des virgules. Par conséquent, pszHeader
ne doit pas inclure le caractère « , ».
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 |