Partager via


IHttpCacheSpecificData::D ecrementTTL, méthode

Décrémente le paramètre Durée de vie (TTL) des données mises en cache.

Syntaxe

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

Paramètres

pfTTLExpired
[OUT] true pour indiquer que le nombre de durées de vie a atteint 0 ; sinon, false.

Cohérence de thread

Les classes qui implémentent l’interface IHttpCacheSpecificData sont thread-safe pour les DecrementTTL méthodes ResetTTL et .

Remarques

Le pfTTLExpired paramètre ne doit pas être NULL ; sinon, la DecrementTTL méthode entraîne une violation d’accès dans certaines implémentations.

Le paramètre TTL spécifie quand les données mises en cache ne sont plus valides et, par conséquent, quand ces données doivent être rechargées. La plupart des IHttpCacheSpecificData implémentations définissent un nombre interne initial sur une valeur positive, puis permettent de réduire ce nombre par des appels successifs à la DecrementTTL méthode. Si la valeur TTL devient 0, les données doivent être rechargées.

Le comportement de est spécifique à l’implémentation DecrementTTL . Vous devez utiliser les informations suivantes comme recommandations, mais elles peuvent ne pas être correctes dans tous les scénarios :

  • Les classes qui implémentent les IHttpCacheSpecificData interfaces ou IHttpTokenEntry initialisent le nombre interne sur 2 au moment de la construction et décrémentent qui comptent par 1 à chaque appel à DecrementTTL.

  • Les classes qui implémentent l’interface IHttpFileInfo sont variées. Certaines classes implémentent le schéma défini ci-dessus, tandis que d’autres effectuent des opérations vides sur les ResetTTL méthodes et DecrementTTL .

Remarques pour les implémenteurs

Les DecrementTTL implémentations de méthode et ResetTTL doivent être thread-safe pour un IHttpCacheSpecificData pointeur.

Remarques pour les appelants

La plupart des appelants peuvent ignorer la DecrementTTL méthode, car cette méthode est destinée à être utilisée en interne.

Exemple

L’exemple de code suivant illustre une classe appelée MySpecificData qui implémente les IHttpCacheSpecificData méthodes .

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

Spécifications

Type Description
Client - IIS 7.0 sur Windows Vista
- IIS 7.5 sur Windows 7
- IIS 8.0 sur Windows 8
- IIS 10.0 sur Windows 10
Serveur - IIS 7.0 sur Windows Server 2008
- IIS 7.5 sur Windows Server 2008 R2
- IIS 8.0 sur Windows Server 2012
- IIS 8.5 sur Windows Server 2012 R2
- IIS 10.0 sur Windows Server 2016
Produit - 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
En-tête Httpserv.h

Voir aussi

IHttpCacheSpecificData, interface