Freigeben über


IHttpCachePolicy::AppendVaryByHeader-Methode

Fügt den Headerwert an die Cacherichtlinie an.

Syntax

virtual HRESULT AppendVaryByHeader(  
   PCSTR pszHeader  
) = 0;  

Parameter

pszHeader
Ein Zeiger auf eine NULL-endende Zeichenfolge, die den anzufügenden benutzerdefinierten Header 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 pszHeader NULL ist.

- oder -

Gibt an, dass pszHeader an die Variablenheaderliste 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 einen benutzerdefinierten Header anzufügen, rufen Sie die IHttpContext::GetResponse-Methode , die IHttpResponse::GetCachePolicy-Methode und schließlich die -Methode auf AppendVaryByHeader .

AppendVaryByHeader 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 AppendVaryByHeader , wenn aufgerufen wird, AppendVaryByHeader gibt sofort S_OK zurück, wenn der pszHeader Parameter NULL ist. Andernfalls wird der Puffer erweitert, um eine Kopie von pszHeaderzu 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 pszHeader, einschließlich des NULL-Terminierungszeichens, an den Puffer angefügt.

Hinweise für Implementierer

IHttpCachePolicy-Implementierungen sind für das Kopieren des pszHeader Parameters in einen Puffer verantwortlich, da die daten pszHeader , die zugeordnet sind, nach dem Aufruf AppendVaryByHeadervon nicht garantiert sind.

Hinweise für Aufrufer

IHttpCachePolicy Clients sind dafür verantwortlich, entweder einen NULL-Parameter pszHeader oder eine null-endende Zeichenfolge an die AppendVaryByHeader -Methode zu übergeben. Clients sind auch für das Löschen von nach dem Aufruf AppendVaryByHeadervon pszHeader verantwortlich, da IHttpCachePolicy Implementierer in einen internen Puffer kopierenpszHeader.

Der interne Puffer, der vom Standardimplementierer IHttpCachePolicy verwendet wird, ist eine durch Trennzeichen getrennte Zeichenfolge von benutzerdefinierten Headern. pszHeader 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

Weitere Informationen

IHttpCachePolicy-Schnittstelle