Compartir a través de


IHttpCacheSpecificData::D ecrementTTL (Método)

Disminuye la configuración período de vida (TTL) de los datos almacenados en caché.

Sintaxis

virtual VOID DecrementTTL(  
   OUT BOOL* pfTTLExpired  
) = 0;  

Parámetros

pfTTLExpired
[OUT] true para indicar que el número de TTL ha alcanzado 0; de lo contrario, false.

Seguridad para subprocesos

Las clases que implementan la interfaz IHttpCacheSpecificData son seguras para subprocesos para los DecrementTTL métodos y ResetTTL .

Comentarios

El pfTTLExpired parámetro no debe ser NULL; de lo contrario, el DecrementTTL método provocará una infracción de acceso en algunas implementaciones.

El valor de TTL especifica cuándo los datos almacenados en caché ya no son válidos y, por lo tanto, cuando se deben volver a cargar esos datos. La mayoría IHttpCacheSpecificData de las implementaciones establecen un recuento interno inicial en un valor positivo y, a continuación, permiten que ese recuento se reduzca a través de llamadas sucesivas al DecrementTTL método . Si el valor de TTL se convierte en 0, se deben volver a cargar los datos.

El comportamiento de es específico de DecrementTTL la implementación. Debe usar la siguiente información como guía, pero puede que no sea correcta en todos los escenarios:

  • Las clases que implementan las IHttpCacheSpecificData interfaces IHttpTokenEntry o inicializan el recuento interno en 2 en construcción y decremento que cuentan en 1 en cada llamada a DecrementTTL.

  • Las clases que implementan la interfaz IHttpFileInfo son variadas. Algunas clases implementan el esquema definido anteriormente, mientras que otros realizan operaciones vacías en los ResetTTL métodos y DecrementTTL .

Notas para los implementadores

Las implementaciones de DecrementTTL método y ResetTTL deben ser seguras para subprocesos para un IHttpCacheSpecificData puntero.

Notas para autores de la llamada

La mayoría de los autores de llamada pueden ignorar el DecrementTTL método, ya que este método está diseñado para usarse internamente.

Ejemplo

En el ejemplo de código siguiente se muestra una clase denominada MySpecificData que implementa los 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

Tipo Descripción
Remoto - IIS 7.0 en Windows Vista
- IIS 7.5 en Windows 7
- IIS 8.0 en Windows 8
- IIS 10.0 en Windows 10
Servidor - IIS 7.0 en Windows Server 2008
- IIS 7.5 en Windows Server 2008 R2
- IIS 8.0 en Windows Server 2012
- IIS 8.5 en Windows Server 2012 R2
- IIS 10.0 en Windows Server 2016
Producto - 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
Encabezado Httpserv.h

Consulte también

IHttpCacheSpecificData (Interfaz)