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 delegata CacheItemRemovedCallback
, 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 , aby dodać obiekty do pamięci podręcznej i pobrać wartość 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 za pomocą tej metody lub Cache.Insert metody, aby ASP.NET może 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.
Uwaga
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, dopóki 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.
Uwaga
Klasa nie jest przeznaczona Cache do użytku poza aplikacjami ASP.NET. Został zaprojektowany i przetestowany do 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 ObjectCache klasy .
Konstruktory
Cache() |
Inicjuje nowe wystąpienie klasy Cache. |
Pola
NoAbsoluteExpiration |
Używany w parametrze |
NoSlidingExpiration |
Używany jako |
Właściwości
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
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 elementu |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
Get(String) |
Pobiera określony element z Cache obiektu. |
GetEnumerator() |
Pobiera moduł wyliczający słownika używany do iterowania po ustawieniach klucza i ich wartościach zawartych w pamięci podręcznej. |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
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. |
Insert(String, Object, CacheDependency) |
Wstawia obiekt do Cache obiektu, który ma zależności pliku lub klucza. |
Insert(String, Object, CacheDependency, DateTime, TimeSpan) |
Wstawia obiekt do obiektu Cache z zasadami zależności i wygasania. |
Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) |
Wstawia obiekt 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 |
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. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (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
IEnumerable.GetEnumerator() |
Zwraca moduł wyliczający, który może iterować po Cache kolekcji obiektów. |
Metody rozszerzania
Cast<TResult>(IEnumerable) |
Rzutuje elementy obiektu IEnumerable na określony typ. |
OfType<TResult>(IEnumerable) |
Filtruje elementy IEnumerable elementu na podstawie określonego typu. |
AsParallel(IEnumerable) |
Umożliwia równoległość zapytania. |
AsQueryable(IEnumerable) |
Konwertuje element IEnumerable na .IQueryable |
Dotyczy
Bezpieczeństwo wątkowe
Ten typ jest bezpieczny wątkowo.