IHttpCacheSpecificData::D ecrementTTL Method

Mengurangi pengaturan Time-to-Live (TTL) dari data cache.

Sintaks

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

Parameter

pfTTLExpired
[OUT] true untuk menunjukkan bahwa jumlah TTL telah mencapai 0; jika tidak, false.

Keamanan Thread

Kelas yang mengimplementasikan antarmuka IHttpCacheSpecificData aman untuk DecrementTTL metode dan ResetTTL .

Keterangan

Parameter pfTTLExpired tidak boleh NULL; jika tidak, metode akan DecrementTTL menyebabkan pelanggaran akses dalam beberapa implementasi.

Pengaturan TTL menentukan kapan data yang di-cache tidak lagi valid dan, oleh karena itu, kapan data tersebut harus dimuat ulang. Sebagian besar IHttpCacheSpecificData implementasi menetapkan jumlah internal awal ke nilai positif dan kemudian memungkinkan jumlah tersebut dikurangi melalui panggilan berturut-turut ke DecrementTTL metode . Jika nilai TTL menjadi 0, data harus dimuat ulang.

Perilaku DecrementTTL adalah implementasi spesifik. Anda harus menggunakan informasi berikut sebagai pedoman, tetapi mungkin tidak benar dalam semua skenario:

  • Kelas yang mengimplementasikan IHttpCacheSpecificData atau antarmuka IHttpTokenEntry menginisialisasi jumlah internal ke 2 pada konstruksi dan penurunan yang dihitung oleh 1 pada setiap panggilan ke DecrementTTL.

  • Kelas yang mengimplementasikan antarmuka IHttpFileInfo bervariasi. Beberapa kelas menerapkan skema yang ditentukan di atas, sementara yang lain melakukan operasi kosong pada ResetTTL metode dan DecrementTTL .

Catatan untuk Pelaksana

Implementasi DecrementTTL metode dan ResetTTL harus aman untuk thread untuk pointer IHttpCacheSpecificData .

Catatan untuk Penelepon

Sebagian besar penelepon dapat mengabaikan DecrementTTL metode , karena metode ini dimaksudkan untuk digunakan secara internal.

Contoh

Contoh kode berikut menunjukkan kelas yang disebut MySpecificData yang mengimplementasikan IHttpCacheSpecificData metode .

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;  
};  

Persyaratan

Jenis Deskripsi
Klien - IIS 7.0 di Windows Vista
- IIS 7.5 di Windows 7
- IIS 8.0 di Windows 8
- IIS 10.0 pada Windows 10
Server - IIS 7.0 di Windows Server 2008
- IIS 7.5 di Windows Server 2008 R2
- IIS 8.0 di Windows Server 2012
- IIS 8.5 di Windows Server 2012 R2
- IIS 10.0 di Windows Server 2016
Produk - 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
Header Httpserv.h

Lihat juga

Antarmuka IHttpCacheSpecificData