Cache Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengimplementasikan cache untuk aplikasi Web. Kelas ini tidak dapat diwariskan.
public ref class Cache sealed : System::Collections::IEnumerable
public sealed class Cache : System.Collections.IEnumerable
type Cache = class
interface IEnumerable
Public NotInheritable Class Cache
Implements IEnumerable
- Warisan
-
Cache
- Penerapan
Contoh
Contoh berikut adalah halaman yang memperlihatkan nilai yang ditetapkan ke item dalam cache kepada pengguna, lalu memberi tahu mereka saat item dihapus dari cache. Ini membuat RemovedCallback
metode, yang memiliki tanda tangan CacheItemRemovedCallback
delegasi, untuk memberi tahu pengguna ketika item cache dihapus, dan menggunakan CacheItemRemovedReason enumerasi untuk memberi tahu mereka mengapa item tersebut dihapus. Selain itu, ia menggunakan Cache.Item[] properti untuk menambahkan objek ke cache dan mengambil nilai objek tersebut.
AddItemToCache
Dalam metode , ia menggunakan Cache.Add metode untuk menambahkan item ke cache. Untuk menggunakan CacheItemRemovedCallback
delegasi, Anda harus menambahkan item ke cache dengan metode ini atau Cache.Insert metode , sehingga ASP.NET dapat secara otomatis melakukan panggilan metode yang tepat saat item dihapus. Metode kustom RemoveItemFromCache
menggunakan Cache.Remove metode untuk secara eksplisit menghapus item dari cache, menyebabkan RemovedCallback
metode dipanggil.
Catatan
Instans Cache yang diakses oleh cuplikan di bawah ini adalah anggota Page objek yang diwarisi sampel ini.
<html>
<Script runat=server language="C#">
// <snippet2>
static bool itemRemoved = false;
static CacheItemRemovedReason reason;
CacheItemRemovedCallback onRemove = null;
public void RemovedCallback(String k, Object v, CacheItemRemovedReason r){
itemRemoved = true;
reason = r;
}
// </snippet2>
// <snippet3>
public void AddItemToCache(Object sender, EventArgs e) {
itemRemoved = false;
onRemove = new CacheItemRemovedCallback(this.RemovedCallback);
if (Cache["Key1"] == null)
Cache.Add("Key1", "Value 1", null, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove);
}
// </snippet3>
// <snippet4>
public void RemoveItemFromCache(Object sender, EventArgs e) {
if(Cache["Key1"] != null)
Cache.Remove("Key1");
}
// </snippet4>
</Script>
<body>
<Form runat="server">
<input type=submit OnServerClick="AddItemToCache" value="Add Item To Cache" runat="server"/>
<input type=submit OnServerClick="RemoveItemFromCache" value="Remove Item From Cache" runat="server"/>
</Form>
<% if (itemRemoved) {
Response.Write("RemovedCallback event raised.");
Response.Write("<BR>");
Response.Write("Reason: <B>" + reason.ToString() + "</B>");
}
else {
// <snippet5>
Response.Write("Value of cache key: <B>" + Server.HtmlEncode(Cache["Key1"] as string) + "</B>");
// </snippet5>
}
%>
</body>
</html>
<%@ Page Language="VB" %>
<html>
<Script runat=server>
' <snippet2>
Shared itemRemoved As boolean = false
Shared reason As CacheItemRemovedReason
Dim onRemove As CacheItemRemovedCallback
Public Sub RemovedCallback(k As String, v As Object, r As CacheItemRemovedReason)
itemRemoved = true
reason = r
End Sub
' </snippet2>
' <snippet3>
Public Sub AddItemToCache(sender As Object, e As EventArgs)
itemRemoved = false
onRemove = New CacheItemRemovedCallback(AddressOf Me.RemovedCallback)
If (IsNothing(Cache("Key1"))) Then
Cache.Add("Key1", "Value 1", Nothing, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove)
End If
End Sub
' </snippet3>
' <snippet4>
Public Sub RemoveItemFromCache(sender As Object, e As EventArgs)
If (Not IsNothing(Cache("Key1"))) Then
Cache.Remove("Key1")
End If
End Sub
' </snippet4>
</Script>
<body>
<Form runat="server">
<input type=submit OnServerClick="AddItemToCache" value="Add Item To Cache" runat="server"/>
<input type=submit OnServerClick="RemoveItemFromCache" value="Remove Item From Cache" runat="server"/>
</Form>
<%
If (itemRemoved) Then
Response.Write("RemovedCallback event raised.")
Response.Write("<BR>")
Response.Write("Reason: <B>" + reason.ToString() + "</B>")
Else
' <snippet5>
Response.Write("Value of cache key: <B>" + Server.HtmlEncode(CType(Cache("Key1"),String)) + "</B>")
' </snippet5>
End If
%>
</body>
</html>
Keterangan
Satu instans kelas ini dibuat per domain aplikasi, dan tetap berlaku selama domain aplikasi tetap aktif. Informasi tentang instans kelas ini tersedia melalui Cache
properti HttpContext objek atau Cache
properti Page objek.
Catatan
Kelas Cache ini tidak dimaksudkan untuk digunakan di luar aplikasi ASP.NET. Ini dirancang dan diuji untuk digunakan dalam ASP.NET untuk menyediakan penembolokan untuk aplikasi Web. Untuk jenis aplikasi lain, seperti aplikasi konsol atau aplikasi Windows Forms, gunakan ObjectCache kelas .
Konstruktor
Cache() |
Menginisialisasi instans baru kelas Cache. |
Bidang
NoAbsoluteExpiration |
Digunakan dalam |
NoSlidingExpiration |
Digunakan sebagai |
Properti
Count |
Mendapatkan jumlah item yang disimpan dalam cache. |
EffectivePercentagePhysicalMemoryLimit |
Mendapatkan persentase memori fisik yang dapat dikonsumsi oleh aplikasi sebelum ASP.NET mulai menghapus item dari cache. |
EffectivePrivateBytesLimit |
Mendapatkan jumlah byte yang tersedia untuk cache. |
Item[String] |
Mendapatkan atau mengatur item cache pada kunci yang ditentukan. |
Metode
Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) |
Menambahkan item yang ditentukan ke Cache objek dengan kebijakan dependensi, kedaluwarsa, dan prioritas, dan delegasi yang dapat Anda gunakan untuk memberi tahu aplikasi Anda saat item yang disisipkan dihapus dari |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
Get(String) |
Mengambil item yang ditentukan dari Cache objek. |
GetEnumerator() |
Mengambil enumerator kamus yang digunakan untuk melakukan iterasi melalui pengaturan kunci dan nilainya yang terkandung dalam cache. |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetType() |
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
Insert(String, Object) |
Menyisipkan item ke Cache dalam objek dengan kunci cache untuk mereferensikan lokasinya, menggunakan nilai default yang disediakan oleh CacheItemPriority enumerasi. |
Insert(String, Object, CacheDependency) |
Menyisipkan objek ke Cache dalam yang memiliki dependensi file atau kunci. |
Insert(String, Object, CacheDependency, DateTime, TimeSpan) |
Menyisipkan objek ke dalam dengan dependensi dan kebijakan kedaluwarsa Cache . |
Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) |
Menyisipkan objek ke Cache dalam objek dengan kebijakan dependensi, kedaluwarsa dan prioritas, dan delegasi yang dapat Anda gunakan untuk memberi tahu aplikasi Anda saat item yang disisipkan dihapus dari |
Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback) |
Menyisipkan objek ke Cache dalam objek bersama dengan dependensi, kebijakan kedaluwarsa, dan delegasi yang dapat Anda gunakan untuk memberi tahu aplikasi sebelum item dihapus dari cache. |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
Remove(String) |
Menghapus item yang ditentukan dari objek aplikasi Cache . |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
IEnumerable.GetEnumerator() |
Mengembalikan enumerator yang dapat melakukan iterasi melalui Cache koleksi objek. |
Metode Ekstensi
Cast<TResult>(IEnumerable) |
Mentransmisikan elemen dari ke IEnumerable jenis yang ditentukan. |
OfType<TResult>(IEnumerable) |
Memfilter elemen berdasarkan IEnumerable jenis yang ditentukan. |
AsParallel(IEnumerable) |
Mengaktifkan paralelisasi kueri. |
AsQueryable(IEnumerable) |
Mengonversi menjadi IEnumerableIQueryable. |
Berlaku untuk
Keamanan Thread
Jenis ini aman untuk utas.