Cache Třída

Definice

Implementuje mezipaměť pro webovou aplikaci.Implements the cache for a Web application. Tuto třídu nelze zdědit.This class cannot be inherited.

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 položce v mezipaměti a pak je upozorní na odebrání položky z mezipaměti.The following example is a page that shows users the value assigned to an item in the cache, and then notifies them when the item is removed from the cache. Vytvoří RemovedCallback metodu, která má signaturu CacheItemRemovedCallback delegáta, aby upozornila uživatele, když je položka mezipaměti odebrána, a použije výčet k tomu, CacheItemRemovedReason Proč byla odebrána.It creates a RemovedCallback method, which has the signature of the CacheItemRemovedCallback delegate, to notify users when the cache item is removed, and it uses the CacheItemRemovedReason enumeration to tell them why it was removed. Kromě toho tato Cache.Item[] vlastnost používá k přidání objektů do mezipaměti a načtení hodnoty těchto objektů.In addition, it uses the Cache.Item[] property to add objects to the cache and retrieve the value of those objects. V AddItemToCache metodě používá Cache.Add metodu k přidání položky do mezipaměti.In the AddItemToCache method, it uses the Cache.Add method to add an item to the cache. Chcete-li použít CacheItemRemovedCallback delegáta, je nutné přidat položku do mezipaměti s touto metodou nebo Cache.Insert metodou, aby ASP.NET mohl automaticky provést správné volání metody při odebrání položky.To use the CacheItemRemovedCallback delegate, you must add an item to the cache with this method or the Cache.Insert method, so that ASP.NET can automatically make the proper method calls when the item is removed. Vlastní RemoveItemFromCache Metoda používá Cache.Remove metodu k explicitnímu odstranění položky z mezipaměti, což způsobuje RemovedCallback volání metody.The custom RemoveItemFromCache method uses the Cache.Remove method to explicitly delete the item from the cache, causing the RemovedCallback method to be invoked.

Poznámka

Instance mezipaměti, ke které je zobrazen fragment kódu, je členem Page objektu, který tato ukázka dědí.The instance of Cache that is accessed by the snippet below is a member of the Page object that this sample inherits.

<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 je vytvořena v rámci aplikační domény a zůstane platná, dokud doména aplikace zůstane aktivní.One instance of this class is created per application domain, and it remains valid as long as the application domain remains active. Informace o instanci této třídy jsou k dispozici prostřednictvím Cache vlastnosti HttpContext objektu nebo Cache vlastnosti Page objektu.Information about an instance of this class is available through the Cache property of the HttpContext object or the Cache property of the Page object.

Poznámka

CacheTřída není určena pro použití mimo ASP.NET aplikace.The Cache class is not intended for use outside of ASP.NET applications. Byla navržena a testována pro použití v ASP.NET k poskytování mezipaměti pro webové aplikace.It was designed and tested for use in ASP.NET to provide caching for Web applications. Pro jiné typy aplikací, jako například konzolové aplikace nebo model Windows Forms aplikace, použijte ObjectCache třídu.For other types of applications, such as console applications or Windows Forms applications, use the ObjectCache class.

Konstruktory

Cache()

Inicializuje novou instanci Cache třídy.Initializes a new instance of the Cache class.

Pole

NoAbsoluteExpiration

Používá se v absoluteExpiration parametru Insert(String, Object) volání metody k indikaci, že by měla položka nikdy vypršet.Used in the absoluteExpiration parameter in an Insert(String, Object) method call to indicate the item should never expire. Toto pole je jen ke čtení.This field is read-only.

NoSlidingExpiration

Používá se jako slidingExpiration parametr v Insert(String, Object) Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) volání metody nebo k zakázání klouzavého vypršení platnosti.Used as the slidingExpiration parameter in an Insert(String, Object) or Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) method call to disable sliding expirations. Toto pole je jen ke čtení.This field is read-only.

Vlastnosti

Count

Získá počet položek uložených v mezipaměti.Gets the number of items stored in the cache.

EffectivePercentagePhysicalMemoryLimit

Získá procento fyzické paměti, kterou může aplikace spotřebovat před tím, než ASP.NET začne odebírat položky z mezipaměti.Gets the percentage of physical memory that can be consumed by an application before ASP.NET starts removing items from the cache.

EffectivePrivateBytesLimit

Získá počet bajtů, které jsou k dispozici pro mezipaměť.Gets the number of bytes available for the cache.

Item[String]

Získá nebo nastaví položku mezipaměti v zadaném klíči.Gets or sets the cache item at the specified key.

Metody

Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback)

Přidá zadanou položku do Cache objektu se závislostmi, zásadami vypršení platnosti a priority a delegátem, který můžete použít k informování aplikace, když je vložená položka odebrána z Cache .Adds the specified item to the Cache object with dependencies, expiration and priority policies, and a delegate you can use to notify your application when the inserted item is removed from the Cache.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(Zděděno od Object)
Get(String)

Načte zadanou položku z Cache objektu.Retrieves the specified item from the Cache object.

GetEnumerator()

Načte enumerátor slovníku, který se používá k iterování pomocí nastavení klíče a jejich hodnot obsažených v mezipaměti.Retrieves a dictionary enumerator used to iterate through the key settings and their values contained in the cache.

GetHashCode()

Slouží jako výchozí funkce hash.Serves as the default hash function.

(Zděděno od Object)
GetType()

Získá Type aktuální instanci.Gets the Type of the current instance.

(Zděděno od Object)
Insert(String, Object)

Vloží položku do Cache objektu s klíčem mezipaměti pro odkazování na její umístění s použitím výchozích hodnot poskytovaných CacheItemPriority výčtem.Inserts an item into the Cache object with a cache key to reference its location, using default values provided by the CacheItemPriority enumeration.

Insert(String, Object, CacheDependency)

Vloží objekt do objektu Cache , který má závislosti souboru nebo klíče.Inserts an object into the Cache that has file or key dependencies.

Insert(String, Object, CacheDependency, DateTime, TimeSpan)

Vloží objekt do Cache zásad se závislostmi a vypršení platnosti.Inserts an object into the Cache with dependencies and expiration policies.

Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback)

Vloží objekt do Cache objektu se závislostmi, zásadami vypršení platnosti a priority a delegátem, který můžete použít k informování aplikace, když je vložená položka odebrána z Cache .Inserts an object into the Cache object with dependencies, expiration and priority policies, and a delegate you can use to notify your application when the inserted item is removed from the Cache.

Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback)

Vloží objekt do Cache objektu společně se závislostmi, zásadami vypršení platnosti a delegátem, který můžete použít k informování aplikace před odebráním položky z mezipaměti.Inserts an object into the Cache object together with dependencies, expiration policies, and a delegate that you can use to notify the application before the item is removed from the cache.

MemberwiseClone()

Vytvoří kopii aktuálního seznamu Object .Creates a shallow copy of the current Object.

(Zděděno od Object)
Remove(String)

Odebere zadanou položku z Cache objektu aplikace.Removes the specified item from the application's Cache object.

ToString()

Vrátí řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Zděděno od Object)

Explicitní implementace rozhraní

IEnumerable.GetEnumerator()

Vrátí enumerátor, který může iterovat v Cache kolekci objektů.Returns an enumerator that can iterate through the Cache object collection.

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypování prvky IEnumerable na zadaný typ.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtruje prvky IEnumerable založené na zadaném typu.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Povoluje paralelní zpracování dotazu.Enables parallelization of a query.

AsQueryable(IEnumerable)

Převede IEnumerable na IQueryable .Converts an IEnumerable to an IQueryable.

Platí pro

Bezpečný přístup z více vláken

Tento typ je bezpečný pro přístup z více vláken.This type is thread safe.

Viz také