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