IHttpCachePolicy::AppendVaryByQueryString-Methode
Fügt den Abfragewert an die Cacherichtlinie an.
Syntax
virtual HRESULT AppendVaryByQueryString(
PCSTR pszParam
) = 0;
Parameter
pszParam
Ein Zeiger auf eine NULL-endende Zeichenfolge, die die anzufügende benutzerdefinierte Abfragezeichenfolge enthält.
- oder -
NULL.
Rückgabewert
HRESULT
. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.
Wert | BESCHREIBUNG |
---|---|
S_OK | Gibt an, dass pszParam NULL ist.- oder - Gibt an, dass pszParam an die Abfrageliste angefügt wird. |
ERROR_NOT_ENOUGH_MEMORY | Gibt an, dass der Heapspeicher erschöpft ist. |
E_FAIL | Gibt an, dass der Vorgang fehlgeschlagen ist. |
Bemerkungen
Von CHttpModule abgeleitete Klassen, die sich für Anforderungs- oder Antwortereignisse registrieren, erhalten einen IHttpContext-Zeiger als Parameter für die entsprechende virtual
Methode. Um eine benutzerdefinierte Abfrage anzufügen, rufen Sie die IHttpContext::GetResponse-Methode , die IHttpResponse::GetCachePolicy-Methode und schließlich die -Methode auf AppendVaryByQueryString
.
AppendVaryByQueryString
Das Verhalten hängt von der Implementierung ab. Sie sollten die folgenden Informationen als Richtlinie verwenden, aber sie sind möglicherweise nicht in allen Szenarien korrekt:
Der aktuelle Standardimplementierer der IHttpCachePolicy-Schnittstelle deklariert einen private
Puffer, der Variablenheaderdaten enthält. Während der Erstellung eines Implementierers wird dieser Puffer als leer initialisiert. Jedes Mal AppendVaryByQueryString
, wenn aufgerufen wird, AppendVaryByQueryString
gibt sofort S_OK zurück, wenn der pszParam
Parameter NULL ist. Andernfalls wird der Puffer erweitert, um eine Kopie von pszParam
zu enthalten, einschließlich des NULL-Terminierungszeichens, plus 1, wenn der Puffer derzeit nicht leer ist. Wenn der Puffer dann nicht leer ist, wird das Zeichen "," an den Puffer angefügt. Schließlich wird der Inhalt von pszParam
, einschließlich des NULL-Terminierungszeichens, an den Puffer angefügt.
Hinweise für Implementierer
IHttpCachePolicy-Implementierungen sind für das Kopieren des pszParam
Parameters in einen Puffer verantwortlich, da die daten pszParam
, die zugeordnet sind, nach dem Aufruf AppendVaryByQueryString
von nicht garantiert sind.
Hinweise für Aufrufer
IHttpCachePolicy
Clients sind dafür verantwortlich, entweder einen NULL-Parameter pszParam
oder eine null-endende Zeichenfolge an die AppendVaryByHeader
-Methode zu übergeben. Clients sind auch für das Löschen von nach dem Aufruf AppendVaryByHeader
von pszParam
verantwortlich, da IHttpCachePolicy
Implementierer in einen internen Puffer kopierenpszParam
.
Der interne Puffer, der vom Standardimplementierer IHttpCachePolicy
verwendet wird, ist eine durch Trennzeichen getrennte Zeichenfolge von benutzerdefinierten Headern. pszParam
Daher darf das Zeichen "," nicht enthalten.
Anforderungen
type | BESCHREIBUNG |
---|---|
Client | – IIS 7.0 unter Windows Vista – IIS 7.5 unter Windows 7 – IIS 8.0 unter Windows 8 – IIS 10.0 unter Windows 10 |
Server | – IIS 7.0 unter Windows Server 2008 – IIS 7.5 unter Windows Server 2008 R2 – IIS 8.0 unter Windows Server 2012 – IIS 8.5 unter Windows Server 2012 R2 – IIS 10.0 unter Windows Server 2016 |
Produkt | – 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 |
Header | Httpserv.h |