Cache Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 Cache
HttpContext ö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 |
|
NoSlidingExpiration |
Kayan |
Ö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 |
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 |
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.