IHttpCachePolicy::AppendVaryByQueryString, méthode
Ajoute la valeur de la requête à la stratégie de cache.
Syntaxe
virtual HRESULT AppendVaryByQueryString(
PCSTR pszParam
) = 0;
Paramètres
pszParam
Pointeur vers une chaîne terminée par null qui contient la chaîne de requête 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 la pszParam valeur NULL.-ou- Indique que pszParam est ajouté à la liste des requêtes. |
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 de CHttpModule qui s’inscrivent aux événements de requête ou de réponse reçoivent un pointeur IHttpContext en tant que paramètre sur la méthode correspondantevirtual
. Pour ajouter une requête personnalisée, appelez la méthode IHttpContext::GetResponse , la méthode IHttpResponse::GetCachePolicy et enfin la AppendVaryByQueryString
méthode.
AppendVaryByQueryString
le comportement dépend de l’implémentation. Vous devez utiliser les informations suivantes comme ligne directrice, 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 variable. Pendant la construction d’un implémenteur, cette mémoire tampon est initialisée pour être vide. Chaque fois AppendVaryByQueryString
qu’est appelé, AppendVaryByQueryString
retourne immédiatement S_OK si le paramètre a la pszParam
valeur NULL. Sinon, la mémoire tampon est développée pour contenir une copie de pszParam
, y compris le caractère null de fin, plus 1 si la mémoire tampon n’est pas vide actuellement. Ensuite, si la mémoire tampon n’est pas vide, le caractère « , » est ajouté à la mémoire tampon. Enfin, le contenu de pszParam
, y compris le caractère de terminaison null, est ajouté à la mémoire tampon.
Remarques pour les implémenteurs
Les implémenteurs IHttpCachePolicy sont chargés de copier le pszParam
paramètre dans une mémoire tampon, car la validité des données associées à pszParam
n’est pas garantie après l’appel à AppendVaryByQueryString
.
Remarques pour les appelants
IHttpCachePolicy
les clients sont responsables du passage d’un paramètre NULL pszParam
ou d’une chaîne terminée par null à la AppendVaryByHeader
méthode. Les clients sont également responsables de l’élimination de pszParam
après l’appel à AppendVaryByHeader
, car IHttpCachePolicy
les implémenteurs copient pszParam
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élimitée par des virgules d’en-têtes personnalisés. Par conséquent, pszParam
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 |