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.
Menerapkan 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 kepada pengguna ke item dalam cache, 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 delegasi CacheItemRemovedCallback, Anda harus menambahkan item ke cache dengan metode ini atau metode Cache.Insert, 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.
Note
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 valid selama domain aplikasi tetap aktif. Informasi tentang instans kelas ini tersedia melalui Cache properti HttpContext objek atau Cache properti Page objek.
Note
Kelas Cache 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 Formulir Windows, gunakan kelas ObjectCache.
Konstruktor
| Nama | Deskripsi |
|---|---|
| Cache() |
Menginisialisasi instans baru dari kelas Cache. |
Bidang
| Nama | Deskripsi |
|---|---|
| NoAbsoluteExpiration |
Digunakan dalam |
| NoSlidingExpiration |
Digunakan sebagai |
Properti
| Nama | Deskripsi |
|---|---|
| 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
| Nama | Deskripsi |
|---|---|
| Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) |
Menambahkan item yang ditentukan ke Cache objek dengan dependensi, kebijakan kedaluwarsa dan prioritas, dan delegasi yang dapat Anda gunakan untuk memberi tahu aplikasi Anda ketika 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 Type instans saat ini. (Diperoleh dari Object) |
| Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) |
Menyisipkan objek ke Cache dalam objek dengan dependensi, kebijakan kedaluwarsa dan prioritas, dan delegasi yang dapat Anda gunakan untuk memberi tahu aplikasi Anda ketika 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. |
| Insert(String, Object, CacheDependency, DateTime, TimeSpan) |
Menyisipkan objek ke dalam dengan dependensi dan kebijakan kedaluwarsa Cache . |
| Insert(String, Object, CacheDependency) |
Menyisipkan objek ke Cache dalam yang memiliki dependensi file atau kunci. |
| Insert(String, Object) |
Menyisipkan item ke Cache dalam objek dengan kunci cache untuk mereferensikan lokasinya, menggunakan nilai default yang disediakan oleh CacheItemPriority enumerasi. |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (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
| Nama | Deskripsi |
|---|---|
| IEnumerable.GetEnumerator() |
Mengembalikan enumerator yang dapat melakukan iterasi melalui Cache kumpulan objek. |
Metode Ekstensi
| Nama | Deskripsi |
|---|---|
| AsParallel(IEnumerable) |
Mengaktifkan paralelisasi kueri. |
| AsQueryable(IEnumerable) |
Mengonversi IEnumerable menjadi IQueryable. |
| Cast<TResult>(IEnumerable) |
Melemparkan elemen IEnumerable ke jenis yang ditentukan. |
| OfType<TResult>(IEnumerable) |
Memfilter elemen IEnumerable berdasarkan jenis tertentu. |
Berlaku untuk
Keamanan Thread
Jenis ini aman untuk utas.