Cache Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Implementuje mezipaměť pro webovou aplikaci. Tuto třídu nelze dědit.
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
- Dědičnost
-
Cache
- Implementuje
Příklady
Následující příklad je stránka, která uživatelům zobrazuje hodnotu přiřazenou k položce v mezipaměti a poté je upozorní, když je položka odebrána z mezipaměti. Vytvoří metodu RemovedCallback
, která má podpis CacheItemRemovedCallback
delegáta, upozornit uživatele na odebrání položky mezipaměti a pomocí výčtu CacheItemRemovedReason jim sdělí, proč byla odebrána. Kromě toho používá Cache.Item[] vlastnost k přidání objektů do mezipaměti a načtení hodnoty těchto objektů. AddItemToCache
V metodě používá metodu Cache.Add k přidání položky do mezipaměti. Chcete-li použít CacheItemRemovedCallback
delegáta, musíte přidat položku do mezipaměti s touto metodou nebo metodou Cache.Insert , aby ASP.NET mohli automaticky provádět správná volání metody při odebrání položky. Vlastní RemoveItemFromCache
metoda používá metodu Cache.Remove k explicitní odstranění položky z mezipaměti, což způsobí RemovedCallback
vyvolání metody.
Poznámka
Instance mezipaměti, ke které přistupuje fragment kódu níže, je členem objektu Page , který tato ukázka dědí.
<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>
Poznámky
Jedna instance této třídy se vytvoří pro každou doménu aplikace a zůstane platná, dokud doména aplikace zůstane aktivní. Informace o instanci této třídy jsou k dispozici prostřednictvím Cache
vlastnosti objektu HttpContext nebo Cache
vlastnosti objektu Page .
Poznámka
Třída Cache není určena pro použití mimo ASP.NET aplikace. Byl navržen a otestován pro použití v ASP.NET k zajištění ukládání do mezipaměti pro webové aplikace. Pro jiné typy aplikací, jako jsou konzolové aplikace nebo model Windows Forms aplikace, použijte ObjectCache třídu .
Konstruktory
Cache() |
Inicializuje novou instanci Cache třídy . |
Pole
NoAbsoluteExpiration |
Používá se v parametru |
NoSlidingExpiration |
Používá se jako |
Vlastnosti
Count |
Získá počet položek uložených v mezipaměti. |
EffectivePercentagePhysicalMemoryLimit |
Získá procento fyzické paměti, která může být spotřebována aplikací před ASP.NET začne odebírat položky z mezipaměti. |
EffectivePrivateBytesLimit |
Získá počet bajtů dostupných pro mezipaměť. |
Item[String] |
Získá nebo nastaví položku mezipaměti na zadaný klíč. |
Metody
Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) |
Přidá zadanou položku do objektu Cache se závislostmi, zásadami vypršení platnosti a priority a delegáta, který můžete použít k upozornění aplikace, když je vložená položka odebrána z |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
Get(String) |
Načte zadanou položku z objektu Cache . |
GetEnumerator() |
Načte slovníkový enumerátor používaný k iteraci prostřednictvím nastavení klíče a jejich hodnot obsažených v mezipaměti. |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
Insert(String, Object) |
Vloží položku do objektu Cache s klíčem mezipaměti odkazovat na jeho umístění pomocí výchozích hodnot zadaných výčtem CacheItemPriority . |
Insert(String, Object, CacheDependency) |
Vloží objekt do objektu Cache , který má závislosti souboru nebo klíče. |
Insert(String, Object, CacheDependency, DateTime, TimeSpan) |
Vloží objekt do objektu Cache se závislostmi a zásadami vypršení platnosti. |
Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) |
Vloží objekt do objektu Cache se závislostmi, zásadami vypršení platnosti a priority a delegáta, který můžete použít k upozornění aplikace, když je vložená položka odebrána z objektu |
Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback) |
Vloží objekt do objektu Cache společně se závislostmi, zásadami vypršení platnosti a delegátem, který můžete použít k upozornění aplikace před odebráním položky z mezipaměti. |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
Remove(String) |
Odebere zadanou položku z objektu Cache aplikace. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
IEnumerable.GetEnumerator() |
Vrátí enumerátor, který může iterovat kolekcí Cache objektů. |
Metody rozšíření
Cast<TResult>(IEnumerable) |
Přetypuje prvky objektu na IEnumerable zadaný typ. |
OfType<TResult>(IEnumerable) |
Filtruje prvky objektu IEnumerable na základě zadaného typu. |
AsParallel(IEnumerable) |
Umožňuje paralelizaci dotazu. |
AsQueryable(IEnumerable) |
Převede objekt na IEnumerableIQueryable. |
Platí pro
Bezpečný přístup z více vláken
Tento typ je bezpečný pro přístup z více vláken.
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro