Freigeben über


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 IHttpCacheSpecificDataSchnittstellen oder IHttpTokenEntry implementieren, initialisieren die interne Anzahl bei der Erstellung auf 2 und verringern die Anzahl bei jedem Aufruf von um DecrementTTL1.

  • 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 ResetTTLDecrementTTLausfü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

Weitere Informationen

IHttpCacheSpecificData-Schnittstelle