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 RemovedCallback imzasını içeren bir CacheItemRemovedCallback yöntem oluşturur ve neden kaldırıldığını onlara bildirmek için numaralandırmayı kullanırCacheItemRemovedReason. Buna ek olarak, ö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 .
CacheItemRemovedCallback temsilcisini kullanmak için, bu yöntemle veya Cache.Insert yöntemiyle önbelleğe bir öğe eklemeniz gerekir; böylece ASP.NET öğe kaldırıldığında otomatik olarak doğru yöntem çağrılarını yapabilir. Özel RemoveItemFromCache yöntem, öğeyi önbellekten açıkça silmek için yöntemini kullanır Cache.Remove ve yöntemin RemovedCallback çağrılmasına neden olur.
Note
Aşağıdaki kod parçacığı tarafından erişilen Önbellek ö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.
Note
Cache sınıfı, ASP.NET uygulamalar dışında kullanılmak üzere tasarlanmamıştır. Web uygulamaları için önbelleğe alma sağlamak üzere ASP.NET'de kullanılmak üzere tasarlanmış ve test edilmiştir. Konsol uygulamaları veya Windows Forms uygulamaları gibi diğer uygulama türleri için ObjectCache sınıfını kullanın.
Oluşturucular
| Name | Description |
|---|---|
| Cache() |
Cache sınıfının yeni bir örneğini başlatır. |
Alanlar
| Name | Description |
|---|---|
| NoAbsoluteExpiration |
|
| NoSlidingExpiration |
Kayan |
Özellikler
| Name | Description |
|---|---|
| Count |
Önbellekte depolanan öğelerin sayısını alır. |
| EffectivePercentagePhysicalMemoryLimit |
ASP.NET önbellekten öğe kaldırmaya başlamadan önce uygulama tarafından tüketilebilen fiziksel bellek 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
| Name | Description |
|---|---|
| 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() |
Önbellekte yer alan anahtar ayarları ve 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() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) |
Nesnesine Cache bağımlılıkları, süre sonu ve öncelik ilkeleriyle bir nesne ekler 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. |
| 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) |
dosyasına dosya veya anahtar bağımlılıkları olan bir nesne Cache ekler. |
| Insert(String, Object) |
Sabit listesi tarafından sağlanan varsayılan değerleri kullanarak konumuna başvurmak için nesneye Cache önbellek anahtarıyla bir öğe CacheItemPriority ekler. |
| MemberwiseClone() |
Geçerli Objectbasit 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 bir dize döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| IEnumerable.GetEnumerator() |
Nesne koleksiyonunda Cache yineleyebilecek bir numaralandırıcı döndürür. |
Uzantı Metotları
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Sorgunun paralelleştirilmesini etkinleştirir. |
| AsQueryable(IEnumerable) |
bir IEnumerable öğesine IQueryabledönüştürür. |
| Cast<TResult>(IEnumerable) |
öğesinin IEnumerable öğelerini belirtilen türe yazar. |
| OfType<TResult>(IEnumerable) |
Belirtilen türe göre bir IEnumerable öğesinin öğelerini filtreler. |
Şunlara uygulanır
İş Parçacığı Güvenliği
Bu tür iş parçacığı güvenlidir.