Kami menambahkan tiga tombol pada halaman dan membuat metode penanganan kejadian untuk mengklik dua kali tombol tersebut. Ketiga tombol tersebut menambahkan cache ASP.NET menggunakan strategi kedaluwarsa yang berbeda.
<asp:Button ID="btn_InsertNoExpirationCache" runat="server" Text="Masukkan cache yang tidak pernah habis masa berlakunya"
OnClick="btn_InsertNoExpirationCache_Click" />
<asp:Button ID="btn_InsertAbsoluteExpirationCache" runat="server" Text="Masukkan waktu absolut
Cache kedaluwarsa" OnClick="btn_InsertAbsoluteExpirationCache_Click" />
<asp:Button ID="btn_InsertSlidingExpirationCache" runat="server" Text="Masukkan waktu perubahan
Cache kedaluwarsa" OnClick="btn_InsertSlidingExpirationCache_Click" />
Metode penanganan event Click dari ketiga tombol tersebut adalah sebagai berikut:
void yang dilindungi btn_InsertNoExpirationCache_Click(pengirim objek, EventArgs e)
{
Kumpulan Data ds = DapatkanData();
Cache.Sisipkan("Data", ds);
}
void yang dilindungi btn_InsertAbsoluteExpirationCache_Click(pengirim objek, EventArgs e)
{
Kumpulan Data ds = DapatkanData();
Cache.Insert("Data", ds,null, DateTime.Now.AddSeconds(10), TimeSpan.Zero);
}
dilindungi kekosongan btn_InsertSlidingExpirationCache_Click(pengirim objek, EventArgs e)
{
Kumpulan Data ds = DapatkanData();
Cache.Insert("Data", ds, null, DateTime.MaxValue, TimeSpan.FromSeconds(10));
}
Mari kita menganalisis ketiga strategi kedaluwarsa cache ASP.NET ini.
◆Tidak pernah kadaluarsa. Cukup tetapkan Kunci dan Nilai yang di-cache secara langsung.
◆ Kedaluwarsa waktu mutlak. DateTime.Now.AddSeconds(10) berarti cache akan kedaluwarsa setelah 10 detik, dan TimeSpan.Zero berarti strategi kedaluwarsa halus tidak digunakan.
◆Kedaluwarsa perubahan waktu (kedaluwarsa halus). DateTime.MaxValue berarti kebijakan kedaluwarsa waktu absolut tidak digunakan, dan TimeSpan.FromSeconds(10) berarti cache akan kedaluwarsa tanpa akses selama 10 detik berturut-turut.
Di sini, kami telah menggunakan metode Sisipkan() untuk menambahkan cache. Faktanya, Cache juga memiliki metode Add() yang juga dapat menambahkan item ke cache. Bedanya, metode Add() hanya dapat menambahkan item yang tidak ada di cache. Jika menambahkan item yang sudah ada di cache, maka akan gagal (tetapi tidak ada pengecualian yang akan dilempar), sedangkan metode Insert() dapat menimpa item aslinya.
Catatan: Berbeda dengan Aplikasi, tidak perlu menggunakan operasi kunci saat memasukkan ke dalam cache ASP.NET. Cache akan menangani konkurensi dengan sendirinya.