Condividi tramite


Metodo IHttpCacheSpecificData::D ecrementTTL

Decrementa l'impostazione TTL (Time-to-Live) dei dati memorizzati nella cache.

Sintassi

virtual VOID DecrementTTL(  
   OUT BOOL* pfTTLExpired  
) = 0;  

Parametri

pfTTLExpired
[OUT] true per indicare che il conteggio TTL ha raggiunto 0; in caso contrario, false.

Thread safety

Le classi che implementano l'interfaccia IHttpCacheSpecificData sono thread safe per i DecrementTTL metodi ResetTTL e .

Commenti

Il parametro non deve essere NULL. In pfTTLExpired caso contrario, il DecrementTTL metodo causerà una violazione di accesso in alcune implementazioni.

L'impostazione TTL specifica quando i dati memorizzati nella cache non sono più validi e, pertanto, quando tali dati devono essere ricaricati. La maggior parte IHttpCacheSpecificData delle implementazioni imposta un conteggio interno iniziale su un valore positivo e quindi consente di ridurre tale conteggio tramite chiamate successive al DecrementTTL metodo. Se il valore TTL diventa 0, i dati devono essere ricaricati.

Il comportamento di è specifico dell'implementazione DecrementTTL . È consigliabile usare le informazioni seguenti come linee guida, ma potrebbe non essere corretta in tutti gli scenari:

  • Le classi che implementano le IHttpCacheSpecificData interfacce o IHttpTokenEntry inizializzano il conteggio interno a 2 in fase di costruzione e decremento che conta da 1 a ogni chiamata a DecrementTTL.

  • Le classi che implementano l'interfaccia IHttpFileInfo sono diverse. Alcune classi implementano lo schema definito in precedenza, mentre altri eseguono operazioni vuote su entrambi i ResetTTL metodi e DecrementTTL .

Note per gli implementatori

Le DecrementTTL implementazioni del metodo e ResetTTL devono essere thread safe per un IHttpCacheSpecificData puntatore.

Note per i chiamanti

La maggior parte dei chiamanti può ignorare il DecrementTTL metodo, perché questo metodo deve essere usato internamente.

Esempio

Nell'esempio di codice seguente viene illustrata una classe denominata MySpecificData che implementa i IHttpCacheSpecificData metodi.

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;  
};  

Requisiti

Tipo Descrizione
Client - IIS 7.0 in Windows Vista
- IIS 7.5 in Windows 7
- IIS 8.0 in Windows 8
- IIS 10.0 in Windows 10
Server - IIS 7.0 in Windows Server 2008
- IIS 7.5 in Windows Server 2008 R2
- IIS 8.0 in Windows Server 2012
- IIS 8.5 in Windows Server 2012 R2
- IIS 10.0 in Windows Server 2016
Prodotto - 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
Intestazione Httpserv.h

Vedere anche

Interfaccia IHttpCacheSpecificData