Compartilhar via


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 para DecrementTTL.

  • 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 e DecrementTTL .

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

Consulte Também

IHttpCacheSpecificData Interface