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 aDecrementTTL
.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 eDecrementTTL
.
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 |