IHttpCacheSpecificData::ResetTTL-Methode
Setzt die Einstellung Für die Gültigkeitsdauer (Time-to-Live, TTL) der zwischengespeicherten Daten zurück.
Syntax
virtual VOID ResetTTL(
VOID
) = 0;
Parameter
Diese Methode nimmt zwei Parameter entgegen.
Threadsicherheit
Klassen, die die IHttpCacheSpecificData-Schnittstelle implementieren, sind threadsicher für die DecrementTTL - und ResetTTL
-Methoden.
Bemerkungen
Die Gültigkeitsdauer wird verwendet, um zu bestimmen, wann zwischengespeicherte Daten nicht mehr gültig sind und wann diese Daten erneut geladen werden sollen. Die meisten IHttpCacheSpecificData
Implementierungen legen eine anfängliche interne Anzahl auf einen positiven Wert fest, und lassen dann zu, dass diese Anzahl durch aufeinander folgende Aufrufe der DecrementTTL
-Methode reduziert wird. Wenn der TTL-Wert 0 wird, sollten die Daten erneut geladen werden.
Das Verhalten der ResetTTL
Methode ist implementierungsspezifisch. Sie sollten die folgenden Informationen als Richtlinie verwenden, aber sie sind möglicherweise nicht in allen Szenarien korrekt:
Klassen, die die
IHttpCacheSpecificData
Schnittstellen oder IHttpTokenEntry implementieren, initialisieren die interne Anzahl bei der Erstellung auf 2 und verringern die Anzahl bei jedem Aufruf von umDecrementTTL
1.Klassen, die die IHttpFileInfo-Schnittstelle implementieren, sind unterschiedlich. Einige Klassen implementieren das oben definierte Schema, während andere leere Vorgänge sowohl für als auch
ResetTTL
DecrementTTL
ausführen.
Hinweise für Implementierer
Die DecrementTTL
Methodenimplementierungen und ResetTTL
müssen threadsicher für einen IHttpCacheSpecificData
Zeiger sein.
Hinweise für Aufrufer
Die meisten Aufrufer ignorieren möglicherweise die ResetTTL
-Methode, da diese Methode intern verwendet werden soll.
Beispiel
Im folgenden Codebeispiel wird eine Klasse namens MySpecificData
veranschaulicht, die die IHttpCacheSpecificData
Methoden implementiert.
class MySpecificData : public IHttpCacheSpecificData
{
public:
MySpecificData()
{
m_ttl = 2;
}
virtual ~MySpecificData()
{
m_ttl = 0;
}
virtual VOID ResetTTL(VOID)
{
m_ttl = 2;
}
virtual VOID DecrementTTL(BOOL* pfTTLExpired)
{
*pfTTLExpired = (InterlockedDecrement(&m_ttl) == 0);
}
private:
LONG m_ttl;
};
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 |