Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 pszParamzu 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 AppendVaryByQueryStringvon 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 AppendVaryByHeadervon 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 |