Freigeben über


Cache.Add Methode

Definition

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.

public:
 System::Object ^ Add(System::String ^ key, System::Object ^ value, System::Web::Caching::CacheDependency ^ dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, System::Web::Caching::CacheItemPriority priority, System::Web::Caching::CacheItemRemovedCallback ^ onRemoveCallback);
public object Add (string key, object value, System.Web.Caching.CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, System.Web.Caching.CacheItemPriority priority, System.Web.Caching.CacheItemRemovedCallback onRemoveCallback);
member this.Add : string * obj * System.Web.Caching.CacheDependency * DateTime * TimeSpan * System.Web.Caching.CacheItemPriority * System.Web.Caching.CacheItemRemovedCallback -> obj
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

Parameter

key
String

Der Cacheschlüssel, mit dem auf das Element verwiesen wird.

value
Object

Das Element, das dem Cache hinzugefügt werden soll.

dependencies
CacheDependency

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.

absoluteExpiration
DateTime

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
TimeSpan

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
CacheItemPriority

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
CacheItemRemovedCallback

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.

Gibt zurück

Ein Objekt, das das Element darstellt, das hinzugefügt wurde, wenn das Element zuvor im Cache gespeichert wurde, andernfalls null.

Ausnahmen

Der key-Parameter oder der value-Parameter ist auf null festgelegt.

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

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

Beispiele

Im folgenden Beispiel wird eine AddItemToCache Methode erstellt. Wenn diese Methode aufgerufen wird, legt sie eine itemRemoved Eigenschaft auf fest false und registriert eine onRemove Methode bei einer neuen Instanz des CacheItemRemovedCallback Delegaten. Die Signatur des Delegaten wird in der RemovedCallback -Methode verwendet. Die AddItemToCache -Methode überprüft dann den Wert, der dem Key1 Schlüssel im Cache zugeordnet ist. Wenn der Wert ist null, platziert die Add -Methode ein Element im Cache mit dem Schlüssel , Key1einem Wert von Value 1, einem absoluten Ablauf von 60 Sekunden und einer hohen Cachepriorität. Außerdem wird die onRemove -Methode als Argument verwendet. Dadurch kann die RemovedCallback Methode aufgerufen werden, wenn dieses Element aus dem Cache entfernt wird.

Hinweis

Beispiele für die Verwendung der CacheDependency Klasse und des Delegaten finden Sie unter Zwischenspeichern von CacheItemRemovedCallback Anwendungsdaten.

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);
}
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

Hinweise

Aufrufe dieser Methode schlagen automatisch fehl, wenn ein Element mit demselben key Parameter bereits in Cachegespeichert ist. Verwenden Sie die Insert -Methode, um ein vorhandenes Cache Element mit demselben key Parameter zu überschreiben.

Sie können nicht sowohl die absoluteExpiration Parameter als slidingExpiration auch festlegen. Wenn das Cacheelement zu einem bestimmten Zeitpunkt abläuft, legen Sie den absoluteExpiration Parameter auf die bestimmte Zeit und den slidingExpiration Parameter auf fest NoSlidingExpiration.

Wenn Sie beabsichtigen, dass das Cacheelement abläuft, nachdem seit dem letzten Zugriff auf das Element eine bestimmte Zeit vergangen ist, legen Sie den slidingExpiration Parameter auf das Ablaufintervall und den absoluteExpiration Parameter auf fest NoAbsoluteExpiration.

Gilt für:

Weitere Informationen