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.
Menaikkan jumlah referensi internal untuk data yang di-cache.
Sintaks
virtual VOID ReferenceCacheData(
VOID
) = 0;
Parameter
Metode ini tidak memerlukan parameter.
Keamanan Thread
Kelas yang mengimplementasikan antarmuka IHttpCacheSpecificData aman untuk dereferenceCacheData dan ReferenceCacheData metode.
Keterangan
Kelas yang mengimplementasikan IHttpCacheSpecificData antarmuka menggunakan penghitungan referensi yang aman untuk manajemen memori utas. Saat pointer IHttpCacheSpecificData dibangun, jumlah referensi internal ( private variabel 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 penunjuk tidak akan dihapus sampai klien terakhir dari penunjuk itu memanggil DereferenceCacheData.
Catatan untuk Pelaksana
Implementasi ReferenceCacheData metode dan DereferenceCacheData harus aman untuk utas untuk antarmuka IHttpCacheSpecificData . 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 pointer ke kelas yang lebih spesifik dan kemudian memanggil delete langsung. Sebagai gantinya ReferenceCacheData , klien harus memanggil metode tepat sekali ketika penunjuk ke IHttpCacheSpecificData antarmuka diambil, lalu memanggil DereferenceCacheData metode ketika penunjuk IHttpCacheSpecificData tidak akan lagi diakses. Anda harus memanggil ReferenceCacheData metode dan DereferenceCacheData sedini mungkin dan selambat mungkin, masing-masing, untuk menjamin bahwa penunjuk IHttpCacheSpecificData 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 |