Cache Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Implementuje pamięć podręczną dla aplikacji internetowej. Klasa ta nie może być dziedziczona.
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
- Dziedziczenie
-
Cache
- Implementuje
Przykłady
Poniższy przykład to strona przedstawiająca użytkowników wartość przypisaną do elementu w pamięci podręcznej, a następnie powiadamia ich o usunięciu elementu z pamięci podręcznej. Tworzy metodę RemovedCallback , która ma podpis CacheItemRemovedCallback delegata, aby powiadomić użytkowników o usunięciu elementu pamięci podręcznej i używa CacheItemRemovedReason wyliczenia, aby poinformować ich, dlaczego został usunięty. Ponadto używa Cache.Item[] właściwości do dodawania obiektów do pamięci podręcznej i pobierania wartości tych obiektów. W metodzie AddItemToCache używa Cache.Add metody , aby dodać element do pamięci podręcznej. Aby użyć delegata CacheItemRemovedCallback, należy dodać element do pamięci podręcznej przy użyciu tej metody lub metody Cache.Insert, aby ASP.NET automatycznie wykonywać odpowiednie wywołania metody po usunięciu elementu. Metoda niestandardowa RemoveItemFromCache używa Cache.Remove metody , aby jawnie usunąć element z pamięci podręcznej, powodując wywołanie RemovedCallback metody.
Note
Wystąpienie pamięci podręcznej, do którego uzyskuje dostęp poniższy fragment kodu, jest elementem członkowskim obiektu dziedziczonego Page przez ten przykład.
<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>
Uwagi
Jedno wystąpienie tej klasy jest tworzone dla domeny aplikacji i pozostaje prawidłowe, o ile domena aplikacji pozostaje aktywna. Informacje o wystąpieniu tej klasy są dostępne za pośrednictwem Cache właściwości HttpContext obiektu lub Cache właściwości Page obiektu.
Note
Klasa Cache nie jest przeznaczona do użytku poza aplikacjami ASP.NET. Został zaprojektowany i przetestowany pod kątem użycia w ASP.NET w celu zapewnienia buforowania dla aplikacji internetowych. W przypadku innych typów aplikacji, takich jak aplikacje konsolowe lub aplikacje Windows Forms, użyj klasy ObjectCache.
Konstruktory
| Nazwa | Opis |
|---|---|
| Cache() |
Inicjuje nowe wystąpienie klasy Cache. |
Pola
| Nazwa | Opis |
|---|---|
| NoAbsoluteExpiration |
Używany w parametrze w |
| NoSlidingExpiration |
Używany jako |
Właściwości
| Nazwa | Opis |
|---|---|
| Count |
Pobiera liczbę elementów przechowywanych w pamięci podręcznej. |
| EffectivePercentagePhysicalMemoryLimit |
Pobiera procent pamięci fizycznej, która może być zużywana przez aplikację przed ASP.NET rozpoczyna usuwanie elementów z pamięci podręcznej. |
| EffectivePrivateBytesLimit |
Pobiera liczbę bajtów dostępnych dla pamięci podręcznej. |
| Item[String] |
Pobiera lub ustawia element pamięci podręcznej w określonym kluczu. |
Metody
| Nazwa | Opis |
|---|---|
| Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) |
Dodaje określony element do Cache obiektu z zależnościami, zasadami wygasania i priorytetu oraz delegatem, którego można użyć do powiadamiania aplikacji o usunięciu wstawionego elementu z obiektu |
| Equals(Object) |
Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone po Object) |
| Get(String) |
Pobiera określony element z Cache obiektu. |
| GetEnumerator() |
Pobiera moduł wyliczający słownik używany do iterowania za pomocą ustawień klucza i ich wartości zawartych w pamięci podręcznej. |
| GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
| GetType() |
Pobiera Type bieżącego wystąpienia. (Odziedziczone po Object) |
| Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) |
Wstawia obiekt do Cache obiektu z zasadami zależności, wygasania i priorytetu oraz delegatem, którego można użyć do powiadamiania aplikacji o usunięciu wstawionego elementu z obiektu |
| Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback) |
Wstawia obiekt do Cache obiektu wraz z zależnościami, zasadami wygasania i pełnomocnikiem, którego można użyć do powiadamiania aplikacji przed usunięciem elementu z pamięci podręcznej. |
| Insert(String, Object, CacheDependency, DateTime, TimeSpan) |
Wstawia obiekt do obiektu Cache z zasadami zależności i wygasania. |
| Insert(String, Object, CacheDependency) |
Wstawia obiekt do Cache pliku lub zależności klucza. |
| Insert(String, Object) |
Wstawia element do Cache obiektu z kluczem pamięci podręcznej w celu odwołania się do jego lokalizacji przy użyciu wartości domyślnych dostarczonych CacheItemPriority przez wyliczenie. |
| MemberwiseClone() |
Tworzy płytkią kopię bieżącego Object. (Odziedziczone po Object) |
| Remove(String) |
Usuwa określony element z obiektu aplikacji Cache . |
| ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
| Nazwa | Opis |
|---|---|
| IEnumerable.GetEnumerator() |
Zwraca moduł wyliczający, który może iterować po Cache kolekcji obiektów. |
Metody rozszerzania
| Nazwa | Opis |
|---|---|
| AsParallel(IEnumerable) |
Umożliwia równoległość zapytania. |
| AsQueryable(IEnumerable) |
Konwertuje IEnumerable na IQueryable. |
| Cast<TResult>(IEnumerable) |
Rzutuje elementy IEnumerable do określonego typu. |
| OfType<TResult>(IEnumerable) |
Filtruje elementy IEnumerable na podstawie określonego typu. |
Dotyczy
Bezpieczeństwo wątkowe
Ten typ jest bezpieczny wątkiem.