IHttpCacheSpecificData::D ecrementTTL-Methode
Verringert die Einstellung Time-to-Live (TTL) der zwischengespeicherten Daten.
Syntax
virtual VOID DecrementTTL(
OUT BOOL* pfTTLExpired
) = 0;
Parameter
pfTTLExpired
[OUT] true
um anzugeben, dass die TTL-Anzahl 0 erreicht hat; false
andernfalls .
Threadsicherheit
Klassen, die die IHttpCacheSpecificData-Schnittstelle implementieren, sind threadsicher für die DecrementTTL
Methoden und ResetTTL .
Bemerkungen
Der pfTTLExpired
Parameter darf nicht NULL sein. Andernfalls verursacht die DecrementTTL
Methode in einigen Implementierungen eine Zugriffsverletzung.
Die TTL-Einstellung gibt an, 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 diese Anzahl kann dann durch aufeinander folgende Aufrufe der DecrementTTL
-Methode reduziert werden. Wenn der TTL-Wert 0 wird, sollten die Daten neu geladen werden.
Das Verhalten von DecrementTTL
ist implementierungsspezifisch. Sie sollten die folgenden Informationen als Richtlinie verwenden, aber möglicherweise nicht in allen Szenarien richtig:
Klassen, die die
IHttpCacheSpecificData
IHttpTokenEntry-Schnittstellen implementieren, initialisieren die interne Anzahl auf 2 bei der Konstruktion und dekrementieren, die bei jedem Aufruf von umDecrementTTL
1 zählen.Klassen, die die IHttpFileInfo-Schnittstelle implementieren, sind unterschiedlich. Einige Klassen implementieren das oben definierte Schema, während andere leere Vorgänge sowohl für die
ResetTTL
DecrementTTL
Methode als auch ausführen.
Hinweise für Implementierer
Die DecrementTTL
Implementierungen und ResetTTL
der Methode müssen threadsicher für einen IHttpCacheSpecificData
Zeiger sein.
Hinweise für Aufrufer
Die meisten Aufrufer ignorieren möglicherweise die DecrementTTL
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 auf 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 auf 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 |