Freigeben über


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; falseandernfalls .

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 IHttpCacheSpecificDataIHttpTokenEntry-Schnittstellen implementieren, initialisieren die interne Anzahl auf 2 bei der Konstruktion und dekrementieren, die bei jedem Aufruf von um DecrementTTL1 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 ResetTTLDecrementTTL 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

Weitere Informationen

IHttpCacheSpecificData-Schnittstelle