Bagikan melalui


Cache Kelas

Definisi

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

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

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

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.

Lihat juga