Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengurangi jumlah referensi internal untuk data yang di-cache.
Sintaks
virtual VOID DereferenceCacheData(
VOID
) = 0;
Parameter
Metode ini tidak memerlukan parameter.
Keamanan Thread
Kelas yang mengimplementasikan antarmuka IHttpCacheSpecificData aman untuk DereferenceCacheData metode dan ReferenceCacheData .
Keterangan
Kelas yang mengimplementasikan IHttpCacheSpecificData antarmuka menggunakan penghitungan referensi yang aman untuk manajemen memori.
IHttpCacheSpecificData Saat pointer dibangun, jumlah referensi internal (privatevariabel anggota) diatur ke 1. Ketika metode dipanggil ReferenceCacheData , jumlah referensi ini bertambah 1. Ketika metode dipanggil DereferenceCacheData , jumlah referensi yang sama ini dikurangi oleh 1. Hanya ketika jumlah referensi masuk ke 0 adalah IHttpCacheSpecificData penunjuk yang dihapus dari tumpukan. Skema ini menjamin bahwa IHttpCacheSpecificData pointer tidak akan dihapus sampai klien terakhir dari pointer itu memanggil DereferenceCacheData.
Catatan untuk Pelaksana
Implementasi ReferenceCacheData metode dan DereferenceCacheData harus aman untuk utas untuk IHttpCacheSpecificData antarmuka. Pelaksana harus menyediakan protected atau private destruktor yang dipanggil secara internal hanya ketika jumlah referensi masuk ke 0.
Catatan untuk Penelepon
Klien tidak boleh mencoba melemparkan IHttpCacheSpecificData antarmuka ke kelas yang lebih spesifik dan kemudian memanggil delete secara langsung. Klien harus memanggil ReferenceCacheData metode tepat sekali ketika pointer ke IHttpCacheSpecificData antarmuka diambil, dan kemudian memanggil DereferenceCacheData metode ketika IHttpCacheSpecificData pointer tidak akan lagi diakses. Anda harus memanggil ReferenceCacheData metode dan DereferenceCacheData sedini mungkin dan selambat mungkin, masing-masing, untuk menjamin bahwa IHttpCacheSpecificData pointer akan valid pada tumpukan ketika diakses dan dihapus ketika tidak lagi diperlukan.
Contoh
Contoh kode berikut menunjukkan kelas yang disebut MySpecificData yang mengimplementasikan IHttpCacheSpecificData metode .
// Create a class that implements the IHttpCacheSpecificData interface.
class MySpecificData : public IHttpCacheSpecificData
{
public:
// Create a public constructor.
// Set the internal reference count to 1.
MySpecificData ()
{
m_cRefs = 1;
}
// Increment the internal reference count.
virtual VOID ReferenceCacheData(VOID)
{
InterlockedIncrement(&m_cRefs);
}
// Decrement the internal reference count.
virtual VOID DereferenceCacheData(VOID)
{
// Decrement the reference count and delete this
// if the count is 0.
if (0 == InterlockedDecrement(&m_cRefs))
{
delete this;
}
}
// To do: implement custom MySpecificData implementation.
private:
// Create a private destructor called from DereferenceCacheData.
virtual ~MySpecificData ()
{
}
// Create a private reference count member.
LONG m_cRefs;
}
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
Antarmuka IHttpFileInfo
Antarmuka IHttpTokenEntry