Partager via


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

Voir aussi

IHttpCachePolicy, interface