Cache Sınıf

Tanım

Bir Web uygulaması için önbelleği uygular. Bu sınıf devralınamaz.

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
Devralma
Cache
Uygulamalar

Örnekler

Aşağıdaki örnek, kullanıcılara önbellekteki bir öğeye atanan değeri gösteren ve öğe önbellekten kaldırıldığında onlara bildirimde bulunan bir sayfadır. Önbellek öğesi kaldırıldığında kullanıcılara bildirim göndermek için temsilcinin CacheItemRemovedCallback imzasını içeren bir RemovedCallback yöntem oluşturur ve neden kaldırıldığını onlara bildirmek için numaralandırmayı kullanırCacheItemRemovedReason. Ayrıca, önbelleğe nesne eklemek ve bu nesnelerin değerini almak için özelliğini kullanır Cache.Item[] . yönteminde AddItemToCache , önbelleğe bir öğe eklemek için yöntemini kullanır Cache.Add . Temsilciyi CacheItemRemovedCallback kullanmak için, bu yöntem veya Cache.Insert yöntemle önbelleğe bir öğe eklemeniz gerekir; böylece ASP.NET öğe kaldırıldığında doğru yöntem çağrılarını otomatik olarak yapabilir. Özel RemoveItemFromCache yöntem, önbellekten öğeyi açıkça silmek için yöntemini kullanır Cache.Remove ve yöntemin RemovedCallback çağrılmasına neden olur.

Not

Aşağıdaki kod parçacığı tarafından erişilen Cache örneği, bu örneğin devraldığı nesnenin Page bir üyesidir.

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

Açıklamalar

Uygulama etki alanı başına bu sınıfın bir örneği oluşturulur ve uygulama etki alanı etkin kaldığı sürece geçerli kalır. Bu sınıfın bir örneği hakkında bilgi, nesnesinin CacheHttpContext özelliği veya nesnesinin Cache özelliği Page aracılığıyla kullanılabilir.

Not

Cache sınıfı, ASP.NET uygulamaların dışında kullanılmak üzere tasarlanmamıştır. Web uygulamaları için önbelleğe alma sağlamak üzere ASP.NET kullanılmak üzere tasarlanmış ve test edilmiştir. Konsol uygulamaları veya Windows Forms uygulamaları gibi diğer uygulama türleri için sınıfını ObjectCache kullanın.

Oluşturucular

Cache()

Cache sınıfının yeni bir örneğini başlatır.

Alanlar

NoAbsoluteExpiration

absoluteExpiration Öğenin süresinin hiçbir zaman dolmaması gerektiğini belirtmek için yöntem Insert(String, Object) çağrısında parametresinde kullanılır. Bu alan salt okunur durumdadır.

NoSlidingExpiration

Kayan slidingExpiration süre sonunu devre dışı bırakmak için bir Insert(String, Object) veya Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) yöntemi çağrısında parametre olarak kullanılır. Bu alan salt okunur durumdadır.

Özellikler

Count

Önbellekte depolanan öğelerin sayısını alır.

EffectivePercentagePhysicalMemoryLimit

ASP.NET önbellekten öğeleri kaldırmaya başlamadan önce bir uygulama tarafından tüketilebilen fiziksel belleğin yüzdesini alır.

EffectivePrivateBytesLimit

Önbellek için kullanılabilir bayt sayısını alır.

Item[String]

Belirtilen anahtardaki önbellek öğesini alır veya ayarlar.

Yöntemler

Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback)

Belirtilen öğeyi bağımlılıkları, süre sonu ve öncelik ilkeleriyle nesnesine Cache ekler ve eklenen öğe öğesi öğesinden Cachekaldırıldığında uygulamanızı bilgilendirmek için kullanabileceğiniz bir temsilci ekler.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
Get(String)

Belirtilen öğeyi nesneden Cache alır.

GetEnumerator()

Anahtar ayarları ve önbellekte yer alan değerleri aracılığıyla yinelemek için kullanılan bir sözlük numaralandırıcısını alır.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
Insert(String, Object)

Sabit listesi tarafından sağlanan varsayılan değerleri kullanarak konumuna başvurmak için bir önbellek anahtarıyla nesneye CacheItemPriority bir öğe Cache ekler.

Insert(String, Object, CacheDependency)

dosyasına dosya veya anahtar bağımlılıkları olan bir nesne Cache ekler.

Insert(String, Object, CacheDependency, DateTime, TimeSpan)

bağımlılıkları ve süre sonu ilkeleriyle içine Cache bir nesne ekler.

Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback)

Nesnesine Cache bağımlılıkları, süre sonu ve öncelik ilkeleri ve eklenen öğe öğesi öğesinden Cachekaldırıldığında uygulamanızı bilgilendirmek için kullanabileceğiniz bir temsilci içeren bir nesne ekler.

Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback)

Nesneye Cache bağımlılıklar, süre sonu ilkeleri ve öğe önbellekten kaldırılmadan önce uygulamayı bilgilendirmek için kullanabileceğiniz bir temsilciyle birlikte bir nesne ekler.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
Remove(String)

Belirtilen öğeyi uygulamanın Cache nesnesinden kaldırır.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

IEnumerable.GetEnumerator()

Nesne koleksiyonunda Cache yineleyebilecek bir numaralandırıcı döndürür.

Uzantı Metotları

Cast<TResult>(IEnumerable)

öğesinin IEnumerable öğelerini belirtilen türe atar.

OfType<TResult>(IEnumerable)

Bir öğesinin IEnumerable öğelerini belirtilen türe göre filtreler.

AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini sağlar.

AsQueryable(IEnumerable)

bir IEnumerable öğesini öğesine IQueryabledönüştürür.

Şunlara uygulanır

İş Parçacığı Güvenliği

Bu güvenli iş parçacığı türüdür.

Ayrıca bkz.