Cache Kelas

Definisi

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 absoluteExpiration parameter dalam Insert(String, Object) panggilan metode untuk menunjukkan item tidak boleh kedaluwarsa. Bidang ini hanya dapat dibaca.

NoSlidingExpiration

Digunakan sebagai slidingExpiration parameter dalam Insert(String, Object) panggilan metode atau Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) untuk menonaktifkan kedaluwarsa geser. Bidang ini hanya dapat dibaca.

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 Cache.

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 Cache.

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.

Lihat juga