Cache Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Implementeert de cache voor een webtoepassing. Deze klasse kan niet worden overgenomen.
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
- Overname
-
Cache
- Implementeringen
Voorbeelden
Het volgende voorbeeld is een pagina waarop gebruikers de waarde weergeeft die is toegewezen aan een item in de cache en deze vervolgens op de hoogte stelt wanneer het item uit de cache wordt verwijderd. Er wordt een RemovedCallback methode gemaakt, die de handtekening van de gemachtigde heeft, om gebruikers op de CacheItemRemovedCallback hoogte te stellen wanneer het cache-item wordt verwijderd en wordt de CacheItemRemovedReason opsomming gebruikt om hen te laten weten waarom het is verwijderd. Daarnaast wordt de Cache.Item[] eigenschap gebruikt om objecten toe te voegen aan de cache en de waarde van deze objecten op te halen. In de AddItemToCache methode wordt de Cache.Add methode gebruikt om een item toe te voegen aan de cache. Als u de gemachtigde CacheItemRemovedCallback wilt gebruiken, moet u een item toevoegen aan de cache met deze methode of de methode Cache.Insert, zodat ASP.NET automatisch de juiste methodeaanroepen kan maken wanneer het item wordt verwijderd. De aangepaste RemoveItemFromCache methode gebruikt de Cache.Remove methode om het item expliciet uit de cache te verwijderen, waardoor de RemovedCallback methode wordt aangeroepen.
Note
Het exemplaar van cache dat wordt geopend door het onderstaande fragment, is lid van het Page object dat door dit voorbeeld wordt overgenomen.
<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>
Opmerkingen
Eén exemplaar van deze klasse wordt gemaakt per toepassingsdomein en blijft geldig zolang het toepassingsdomein actief blijft. Informatie over een exemplaar van deze klasse is beschikbaar via de Cache eigenschap van het HttpContext object of de Cache eigenschap van het Page object.
Note
De klasse Cache is niet bedoeld voor gebruik buiten ASP.NET toepassingen. Het is ontworpen en getest voor gebruik in ASP.NET om caching voor webtoepassingen te bieden. Gebruik voor andere typen toepassingen, zoals consoletoepassingen of Windows Forms-toepassingen, de klasse ObjectCache.
Constructors
| Name | Description |
|---|---|
| Cache() |
Initialiseert een nieuw exemplaar van de Cache klasse. |
Velden
| Name | Description |
|---|---|
| NoAbsoluteExpiration |
Wordt gebruikt in de |
| NoSlidingExpiration |
Wordt gebruikt als de |
Eigenschappen
| Name | Description |
|---|---|
| Count |
Hiermee haalt u het aantal items op dat in de cache is opgeslagen. |
| EffectivePercentagePhysicalMemoryLimit |
Hiermee haalt u het percentage fysiek geheugen op dat door een toepassing kan worden verbruikt voordat ASP.NET items uit de cache verwijdert. |
| EffectivePrivateBytesLimit |
Hiermee haalt u het aantal beschikbare bytes voor de cache op. |
| Item[String] |
Hiermee haalt u het cache-item op de opgegeven sleutel op of stelt u het in. |
Methoden
| Name | Description |
|---|---|
| Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) |
Voegt het opgegeven item toe aan het object met afhankelijkheden, verloop- en prioriteitsbeleid en een gemachtigde die u kunt gebruiken om uw toepassing op de Cache hoogte te stellen wanneer het ingevoegde item wordt verwijderd uit het |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| Get(String) |
Haalt het opgegeven item op uit het Cache object. |
| GetEnumerator() |
Haalt een woordenlijst-opsomming op die wordt gebruikt om de sleutelinstellingen en de bijbehorende waarden in de cache te doorlopen. |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) |
Hiermee voegt u een object in het object in met afhankelijkheden, verloop- en prioriteitsbeleid en een gemachtigde die u kunt gebruiken om uw toepassing op de Cache hoogte te stellen wanneer het ingevoegde item wordt verwijderd uit het |
| Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback) |
Hiermee voegt u een object in het Cache object in, samen met afhankelijkheden, verloopbeleid en een gemachtigde die u kunt gebruiken om de toepassing op de hoogte te stellen voordat het item uit de cache wordt verwijderd. |
| Insert(String, Object, CacheDependency, DateTime, TimeSpan) |
Hiermee voegt u een object toe aan het Cache object met afhankelijkheden en verloopbeleid. |
| Insert(String, Object, CacheDependency) |
Hiermee voegt u een object in het Cache object met bestands- of sleutelafhankelijkheden in. |
| Insert(String, Object) |
Hiermee voegt u een item in het Cache object in met een cachesleutel om naar de locatie te verwijzen, met behulp van standaardwaarden die worden opgegeven door de CacheItemPriority opsomming. |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| Remove(String) |
Hiermee verwijdert u het opgegeven item uit het object van Cache de toepassing. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| IEnumerable.GetEnumerator() |
Retourneert een enumerator die door de Cache objectverzameling kan worden herhaald. |
Extensiemethoden
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Hiermee schakelt u parallelle uitvoering van een query in. |
| AsQueryable(IEnumerable) |
Converteert een IEnumerable naar een IQueryable. |
| Cast<TResult>(IEnumerable) |
Cast de elementen van een IEnumerable naar het opgegeven type. |
| OfType<TResult>(IEnumerable) |
Hiermee filtert u de elementen van een IEnumerable op basis van een opgegeven type. |
Van toepassing op
Veiligheid thread
Dit type is thread veilig.