Freigeben über


MemoryCache.AddOrGetExisting Methode

Definition

Fügt einen Cacheeintrag in den Cache ein.

Überlädt

AddOrGetExisting(CacheItem, CacheItemPolicy)

Fügt einen Cacheeintrag unter Verwendung der angegebenen CacheItem-Instanz und Details zur Entfernung des Eintrags im Cache hinzu.

AddOrGetExisting(String, Object, DateTimeOffset, String)

Fügt einen Cacheeintrag unter Verwendung des angegebenen Schlüssels, eines Werts und eines absoluten Ablaufwerts im Cache hinzu.

AddOrGetExisting(String, Object, CacheItemPolicy, String)

Fügt einen Cacheeintrag unter Verwendung des angegebenen Schlüssels und Werts und der angegebenen Details zur Entfernung in den Cache ein.

Hinweise

Die AddOrGetExisting Methodenüberladungen werden verwendet, um einen Cacheeintrag in den Cache einzufügen. Wenn kein Cacheeintrag mit einem übereinstimmenden Schlüssel vorhanden ist, fügen diese Methoden einen neuen Eintrag ein. Wenn bereits ein Cacheeintrag mit einem übereinstimmenden Schlüssel vorhanden ist, wird der vorhandene Eintrag zurückgegeben.

AddOrGetExisting(CacheItem, CacheItemPolicy)

Quelle:
MemoryCache.cs
Quelle:
MemoryCache.cs
Quelle:
MemoryCache.cs

Fügt einen Cacheeintrag unter Verwendung der angegebenen CacheItem-Instanz und Details zur Entfernung des Eintrags im Cache hinzu.

public:
 override System::Runtime::Caching::CacheItem ^ AddOrGetExisting(System::Runtime::Caching::CacheItem ^ item, System::Runtime::Caching::CacheItemPolicy ^ policy);
public override System.Runtime.Caching.CacheItem AddOrGetExisting (System.Runtime.Caching.CacheItem item, System.Runtime.Caching.CacheItemPolicy policy);
override this.AddOrGetExisting : System.Runtime.Caching.CacheItem * System.Runtime.Caching.CacheItemPolicy -> System.Runtime.Caching.CacheItem
Public Overrides Function AddOrGetExisting (item As CacheItem, policy As CacheItemPolicy) As CacheItem

Parameter

item
CacheItem

Das hinzuzufügende Objekt.

policy
CacheItemPolicy

Ein Objekt, das Entfernungsdetails für den Cacheeintrag enthält. Dieses Objekt stellt mehr Optionen für das Entfernen bereit als ein einfacher absoluter Ablauf.

Gibt zurück

Der vorhandene Cacheeintrag, wenn ein Cacheeintrag mit demselben Schlüssel vorhanden ist, andernfalls null.

Ausnahmen

Die Value-Eigenschaft ist null.

Sowohl der absolute und gleitende Ablaufzeitwert für das CacheItemPolicy-Objekt werden auf andere Werte als die Standardwerte der InfiniteAbsoluteExpiration-Felder und der NoSlidingExpiration-Felder festgelegt. Die MemoryCache-Klasse kann keine Ablaufrichtlinie auf Grundlage einer Kombination einer absoluten Ablaufzeit und einer gleitenden Ablaufzeit festlegen. Nur eine Ablaufeinstellung kann explizit festgelegt werden, wenn Sie die MemoryCache-Instanz verwenden. Die andere Ablaufeinstellung muss auf das InfiniteAbsoluteExpiration-Feld oder das NoSlidingExpiration-Feld festgelegt werden.

Die SlidingExpiration-Eigenschaft wird auf einen Wert kleiner als Zero festgelegt.

- oder -

Die SlidingExpiration-Eigenschaft ist auf einen größeren Wert als ein Jahr festgelegt.

- oder -

Die Priority-Eigenschaft ist kein Wert der CacheItemPriority-Enumeration.

Hinweise

Der item Parameter liefert den Schlüssel und den Wert, der von der -Methode verwendet wird. Wenn der Cache über einen Cacheeintrag mit demselben Schlüssel wie der Schlüssel des item Parameters verfügt, gibt die Methode den vorhandenen Eintrag als CacheItem instance zurück. Wenn kein Cacheeintrag vorhanden ist, erstellt die -Methode mithilfe des Schlüssels und Werts, der item vom Parameter angegeben wird, und mit den durch policyangegebenen Entfernungsdetails einen neuen.

Warnung

Die Methodenüberladungen Add und AddOrGetExisting unterstützen die UpdateCallback-Eigenschaft nicht. Daher verwenden Sie zum Festlegen der UpdateCallback-Eigenschaft für einen Cacheeintrag stattdessen die Set-Methodenüberladungen.

Gilt für:

AddOrGetExisting(String, Object, DateTimeOffset, String)

Quelle:
MemoryCache.cs
Quelle:
MemoryCache.cs
Quelle:
MemoryCache.cs

Fügt einen Cacheeintrag unter Verwendung des angegebenen Schlüssels, eines Werts und eines absoluten Ablaufwerts im Cache hinzu.

public override object AddOrGetExisting (string key, object value, DateTimeOffset absoluteExpiration, string regionName = default);
override this.AddOrGetExisting : string * obj * DateTimeOffset * string -> obj
Public Overrides Function AddOrGetExisting (key As String, value As Object, absoluteExpiration As DateTimeOffset, Optional regionName As String = Nothing) As Object

Parameter

key
String

Ein eindeutiger Bezeichner für den hinzuzufügenden Cacheeintrag.

value
Object

Die Daten für den Cacheeintrag.

absoluteExpiration
DateTimeOffset

Das feste Datum und die Uhrzeit, an dem bzw. zu der der Cacheeintrag abläuft.

regionName
String

Ein benannter Bereich im Cache, dem ein Cacheeintrag hinzugefügt werden kann. Übergeben Sie keinen Wert für diesen Parameter. Dieser Parameter ist standardmäßig null, da die MemoryCache-Klasse keine Bereiche implementiert.

Gibt zurück

Der vorhandene Cacheeintrag, wenn ein Cacheeintrag mit demselben Schlüssel vorhanden ist, andernfalls null.

Ausnahmen

value ist nicht null.

regionName ist nicht null.

Sowohl der absolute und gleitende Ablaufzeitwert für das CacheItemPolicy-Objekt werden auf andere Werte als die Standardwerte der InfiniteAbsoluteExpiration-Felder und der NoSlidingExpiration-Felder festgelegt. Die MemoryCache-Klasse kann keine Ablaufrichtlinie auf Grundlage einer Kombination einer absoluten Ablaufzeit und einer gleitenden Ablaufzeit festlegen. Nur eine Ablaufeinstellung kann explizit festgelegt werden, wenn Sie die MemoryCache-Instanz verwenden. Die andere Ablaufeinstellung muss auf InfiniteAbsoluteExpiration oder NoSlidingExpiration festgelegt werden

Die SlidingExpiration-Eigenschaft wird auf einen Wert kleiner als Zero festgelegt.

- oder -

Die SlidingExpiration-Eigenschaft ist auf einen größeren Wert als ein Jahr festgelegt.

- oder -

Die Priority-Eigenschaft ist kein Wert der CacheItemPriority-Enumeration.

Hinweise

Wenn der Cache keinen Cacheeintrag aufweist, dessen Schlüssel mit dem key Parameter übereinstimmt, wird ein neuer Cacheeintrag erstellt, und die MemoryCache.AddOrGetExisting Methodenüberladung gibt zurück null. Wenn ein übereinstimmenden Cacheeintrag vorhanden ist, wird der vorhandene Eintrag zurückgegeben.

Warnung

Die Methodenüberladungen Add und AddOrGetExisting unterstützen die UpdateCallback-Eigenschaft nicht. Daher verwenden Sie zum Festlegen der UpdateCallback-Eigenschaft für einen Cacheeintrag stattdessen die Set-Methodenüberladungen.

Gilt für:

AddOrGetExisting(String, Object, CacheItemPolicy, String)

Quelle:
MemoryCache.cs
Quelle:
MemoryCache.cs
Quelle:
MemoryCache.cs

Fügt einen Cacheeintrag unter Verwendung des angegebenen Schlüssels und Werts und der angegebenen Details zur Entfernung in den Cache ein.

public override object AddOrGetExisting (string key, object value, System.Runtime.Caching.CacheItemPolicy policy, string regionName = default);
override this.AddOrGetExisting : string * obj * System.Runtime.Caching.CacheItemPolicy * string -> obj
Public Overrides Function AddOrGetExisting (key As String, value As Object, policy As CacheItemPolicy, Optional regionName As String = Nothing) As Object

Parameter

key
String

Ein eindeutiger Bezeichner für den Cacheeintrag, der hinzugefügt oder abgerufen werden soll.

value
Object

Die Daten für den Cacheeintrag.

policy
CacheItemPolicy

Ein Objekt, das Entfernungsdetails für den Cacheeintrag enthält. Dieses Objekt stellt mehr Optionen für das Entfernen bereit als ein einfacher absoluter Ablauf.

regionName
String

Ein benannter Bereich im Cache, dem ein Cacheeintrag hinzugefügt werden kann. Übergeben Sie keinen Wert für diesen Parameter. Dieser Parameter ist standardmäßig null, da die MemoryCache-Klasse keine Bereiche implementiert.

Gibt zurück

Ein Cacheeintrag, wenn bereits ein entsprechender Cacheeintrag vorhanden ist, andernfalls null.

Ausnahmen

value ist null.

Sowohl die absoluten als auch die gleitenden Ablaufzeitwerte des CacheItemPolicy-Objekts werden auf andere Werte als die Standards von InfiniteAbsoluteExpiration und NoSlidingExpiration festgelegt. Die MemoryCache-Klasse kann keine Ablaufrichtlinie auf Grundlage einer Kombination einer absoluten und einer gleitenden Ablaufzeit festlegen. Nur eine Ablaufeinstellung kann explizit festgelegt werden, wenn Sie die MemoryCache-Klasse verwenden. Die andere Einstellung muss auf InfiniteAbsoluteExpiration oder NoSlidingExpiration festgelegt werden.

- oder -

Sowohl der Löschrückruf als auch der Updaterückruf wurden für das CacheItemPolicy-Objekt angegeben. Der MemoryCache unterstützt nur das Verwenden von einem Typ von Rückruf pro Cacheeintrag.

Die SlidingExpiration-Eigenschaft wird auf einen Wert kleiner als Zero festgelegt.

- oder -

Die SlidingExpiration wurde auf einen Wert größer als ein Jahr festgelegt.

- oder -

Die Priority-Eigenschaft ist kein Wert der CacheItemPriority-Enumeration.

Hinweise

Warnung

Die Methodenüberladungen Add und AddOrGetExisting unterstützen die UpdateCallback-Eigenschaft nicht. Daher verwenden Sie zum Festlegen der UpdateCallback-Eigenschaft für einen Cacheeintrag stattdessen die Set-Methodenüberladungen.

Gilt für: