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 |
---|---|
Der key-Parameter oder der value-Parameter ist auf NULL (Nothing in Visual Basic) 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. |
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