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.
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 |