Freigeben über


Cache.Add-Methode

Fügt dem Cache-Objekt das angegebene Element mit Abhängigkeiten, Ablauf- und Prioritätsrichtlinien sowie einem Delegaten hinzu, mit dem die Anwendung über das Entfernen des eingefügten Elements aus demCache benachrichtigt werden kann.

Namespace: System.Web.Caching
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public Function Add ( _
    key As String, _
    value As Object, _
    dependencies As CacheDependency, _
    absoluteExpiration As DateTime, _
    slidingExpiration As TimeSpan, _
    priority As CacheItemPriority, _
    onRemoveCallback As CacheItemRemovedCallback _
) As Object
'Usage
Dim instance As Cache
Dim key As String
Dim value As Object
Dim dependencies As CacheDependency
Dim absoluteExpiration As DateTime
Dim slidingExpiration As TimeSpan
Dim priority As CacheItemPriority
Dim onRemoveCallback As CacheItemRemovedCallback
Dim returnValue As Object

returnValue = instance.Add(key, value, dependencies, absoluteExpiration, slidingExpiration, priority, onRemoveCallback)
public Object Add (
    string key,
    Object value,
    CacheDependency dependencies,
    DateTime absoluteExpiration,
    TimeSpan slidingExpiration,
    CacheItemPriority priority,
    CacheItemRemovedCallback onRemoveCallback
)
public:
Object^ Add (
    String^ key, 
    Object^ value, 
    CacheDependency^ dependencies, 
    DateTime absoluteExpiration, 
    TimeSpan slidingExpiration, 
    CacheItemPriority priority, 
    CacheItemRemovedCallback^ onRemoveCallback
)
public Object Add (
    String key, 
    Object value, 
    CacheDependency dependencies, 
    DateTime absoluteExpiration, 
    TimeSpan slidingExpiration, 
    CacheItemPriority priority, 
    CacheItemRemovedCallback onRemoveCallback
)
public function Add (
    key : String, 
    value : Object, 
    dependencies : CacheDependency, 
    absoluteExpiration : DateTime, 
    slidingExpiration : TimeSpan, 
    priority : CacheItemPriority, 
    onRemoveCallback : CacheItemRemovedCallback
) : Object

Parameter

  • key
    Der Cacheschlüssel, mit dem auf das Element verwiesen wird.
  • value
    Das Element, das dem Cache hinzugefügt werden soll.
  • dependencies
    Die Datei- oder Cacheschlüsselabhängigkeiten des Elements. Wenn sich eine der Abhängigkeiten ändert, wird das Objekt ungültig und aus dem Cache entfernt. Wenn keine Abhängigkeiten bestehen, enthält dieser Parameter NULL (Nothing in Visual Basic).
  • absoluteExpiration
    Der Zeitpunkt, an dem das hinzugefügte Objekt abläuft und aus dem Cache entfernt wird. Wenn Sie die gleitende Ablaufzeit verwenden, muss der absoluteExpiration-Parameter NoAbsoluteExpiration sein.
  • slidingExpiration
    Das Intervall zwischen dem letzten Zugreifen auf das hinzugefügte Objekt und dem Ablaufen des Objekts. Wenn dieser Wert 20 Minuten entspricht, läuft das Objekt 20 Minuten nach dem zuletzt erfolgten Zugriff ab und wird aus dem Cache entfernt. Wenn Sie die absolute Ablaufzeit verwenden, muss der slidingExpiration-Parameter NoSlidingExpiration sein.
  • priority
    Die relative Priorität des Objekts, die durch die CacheItemPriority-Enumeration ausgedrückt wird. Der Cache verwendet diesen Wert beim Entfernen von Objekten. Objekte mit niedrigerer Priorität werden vor Objekten mit höherer Priorität aus dem Cache entfernt.
  • onRemoveCallback
    Wenn bereitgestellt, ein Delegat, der beim Entfernen eines Objekts aus dem Cache aufgerufen wird. Hiermit können Sie Anwendungen benachrichtigen lassen, wenn zugehörige Objekte aus dem Cache gelöscht werden.

Rückgabewert

Ein Object, wenn das Element zuvor im Cache gespeichert wurde, andernfalls NULL (Nothing in Visual Basic).

Ausnahmen

Ausnahmetyp Bedingung

ArgumentNullException

Der key-Parameter oder der value-Parameter ist auf NULL (Nothing in Visual Basic) festgelegt.

ArgumentOutOfRangeException

Der slidingExpiration-Parameter ist auf einen Wert festgelegt, der kleiner als TimeSpan.Zero ist oder mehr als ein Jahr beträgt.

ArgumentException

Für das Element, das Sie dem Cache hinzufügen möchten, sind sowohl der absoluteExpiration-Parameter als auch der slidingExpiration-Parameter festgelegt.

Hinweise

Aufrufe an diese Methode schlagen fehl, wenn bereits ein Element mit demselben key-Parameter im Cache gespeichert ist. Sie können das vorhandene Cache-Element unter Verwendung desselben key-Parameters überschreiben, indem Sie die Insert-Methode verwenden.

Der absoluteExpiration-Parameter und der slidingExpiration-Parameter können nicht gleichzeitig festgelegt werden. Wenn das zwischengespeicherte Element zu einem bestimmten Zeitpunkt ablaufen soll, legen Sie den absoluteExpiration-Parameter auf diesen Zeitpunkt und den slidingExpiration-Parameter auf NoSlidingExpiration fest.

Wenn das zwischengespeicherte Element ablaufen soll, nachdem eine bestimmte Zeit nach dem letzten Zugriff auf das Element verstrichen ist, legen Sie den slidingExpiration-Parameter auf das Ablaufintervall und den absoluteExpiration-Parameter auf NoAbsoluteExpiration fest.

Beispiel

Im folgenden Beispiel wird eine AddItemToCache-Methode erstellt. Durch das Aufrufen dieser Methode wird eine itemRemoved-Eigenschaft auf false festgelegt und eine onRemove-Methode mit einer neuen Instanz des CacheItemRemovedCallback-Delegaten registriert. Die Signatur des Delegaten wird in der RemovedCallback-Methode verwendet. Die AddItemToCache-Methode überprüft anschließend den dem Key1-Schlüssel im Cache zuordneten Wert. Wenn der Wert NULL (Nothing in Visual Basic) ist, platziert die Add-Methode ein Element im Cache mit einem Schlüssel von Key1, einem Wert von Value 1, einer absoluten Ablaufzeit von 60 Sekunden und einer hohen Cachepriorität. Des Weiteren verwendet sie die onRemove-Methode als Argument. Dies ermöglicht das Aufrufen der RemovedCallback-Methode, wenn dieses Element aus dem Cache entfernt wird.

Hinweis

Beispiele zur Nutzung der CacheDependency-Klasse und des CacheItemRemovedCallback-Delegaten finden Sie unter Zwischenspeichern von Anwendungsdaten.

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), TimeSpan.Zero, CacheItemPriority.High, onRemove)
    End If
End Sub
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), TimeSpan.Zero, CacheItemPriority.High, onRemove);
}
public function AddItemToCache(sender : Object, e : EventArgs) {
    itemRemoved = false;

    onRemove = this.RemovedCallback;

    if (Cache["Key1"] == null)
      Cache.Add("Key1", "Value 1", null, DateTime.Now.AddSeconds(10), TimeSpan.Zero, CacheItemPriority.High, onRemove);
}

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

Cache-Klasse
Cache-Member
System.Web.Caching-Namespace
CacheDependency
CacheItemPriority
CacheItemRemovedCallback

Weitere Ressourcen

Zwischenspeichern von Anwendungsdaten