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 etDecrementTTL
.
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 |