Método IHttpCacheSpecificData::D ecrementTTL
Diminui a configuração de TTL (vida útil) dos dados armazenados em cache.
Sintaxe
virtual VOID DecrementTTL(
OUT BOOL* pfTTLExpired
) = 0;
Parâmetros
pfTTLExpired
[OUT] true
para indicar que a contagem de TTL atingiu 0; caso contrário, false
.
Acesso thread-safe
As classes que implementam a interface IHttpCacheSpecificData são thread-safe para os DecrementTTL
métodos e ResetTTL .
Comentários
O pfTTLExpired
parâmetro não deve ser NULL; caso contrário, o DecrementTTL
método causará uma violação de acesso em algumas implementações.
A configuração de TTL especifica quando os dados armazenados em cache não são mais válidos e, portanto, quando esses dados devem ser recarregados. A maioria das IHttpCacheSpecificData
implementações define uma contagem interna inicial como um valor positivo e permite que essa contagem seja reduzida por meio de chamadas sucessivas para o DecrementTTL
método . Se o valor de TTL se tornar 0, os dados deverão ser recarregados.
O comportamento de DecrementTTL
é específico da implementação. Você deve usar as seguintes informações como uma diretriz, mas elas podem não estar corretas em todos os cenários:
Classes que implementam as
IHttpCacheSpecificData
interfaces ou IHttpTokenEntry inicializam a contagem interna como 2 na construção e decremento que contam em 1 em cada chamada paraDecrementTTL
.As classes que implementam a interface IHttpFileInfo são variadas. Algumas classes implementam o esquema definido acima, enquanto outras executam operações vazias nos
ResetTTL
métodos eDecrementTTL
.
Notas para implementadores
As implementações do DecrementTTL
método e ResetTTL
devem ser thread-safe para um IHttpCacheSpecificData
ponteiro.
Observações para chamadores
A maioria dos chamadores pode desconsiderar o DecrementTTL
método , pois esse método deve ser usado internamente.
Exemplo
O exemplo de código a seguir demonstra uma classe chamada MySpecificData
que implementa os IHttpCacheSpecificData
métodos .
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;
};
Requisitos
Type | Descrição |
---|---|
Cliente | – IIS 7.0 no Windows Vista – IIS 7.5 no Windows 7 – IIS 8.0 no Windows 8 – IIS 10.0 no Windows 10 |
Servidor | – IIS 7.0 no Windows Server 2008 – IIS 7.5 no Windows Server 2008 R2 – IIS 8.0 no Windows Server 2012 – IIS 8.5 no Windows Server 2012 R2 – IIS 10.0 no Windows Server 2016 |
Produto | - 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 |
parâmetro | Httpserv.h |