Partager via


IHttpCacheSpecificData::ResetTTL, méthode

Réinitialise le paramètre Durée de vie (TTL) des données mises en cache.

Syntaxe

virtual VOID ResetTTL(  
   VOID  
) = 0;  

Paramètres

Cette méthode ne prend aucun paramètre.

Cohérence de thread

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

Remarques

La durée de vie est utilisée pour déterminer 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 la ResetTTL méthode est spécifique à l’implémentation. Vous devez utiliser les informations suivantes comme ligne directrice, 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 et ResetTTLDecrementTTL.

Remarques pour les implémenteurs

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

Remarques pour les appelants

La plupart des appelants peuvent ignorer la ResetTTL 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