MemoryCache.AddOrGetExisting Methode

Definition

Fügt einen Cacheeintrag in den Cache ein.Inserts a cache entry into the cache.

Überlädt

AddOrGetExisting(CacheItem, CacheItemPolicy)

Fügt einen Cacheeintrag unter Verwendung der angegebenen CacheItem-Instanz und Details zur Entfernung des Eintrags im Cache hinzu.Adds a cache entry into the cache using the specified CacheItem instance and details about how to evict the entry.

AddOrGetExisting(String, Object, DateTimeOffset, String)

Fügt einen Cacheeintrag unter Verwendung des angegebenen Schlüssels, eines Werts und eines absoluten Ablaufwerts im Cache hinzu.Adds a cache entry into the cache using the specified key and a value and an absolute expiration value.

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.Inserts a cache entry into the cache using the specified key and value and the specified details for how it is to be evicted.

Hinweise

Die AddOrGetExisting-Methoden Überladungen werden verwendet, um einen Cache Eintrag in den Cache einzufügen.The AddOrGetExisting method overloads are used to insert a cache entry into the cache. Wenn kein Cache Eintrag mit einem übereinstimmenden Schlüssel vorhanden ist, fügen diese Methoden einen neuen Eintrag ein.If a cache entry with a matching key does not exist, these methods insert a new entry. Wenn bereits ein Cache Eintrag mit einem übereinstimmenden Schlüssel vorhanden ist, wird der vorhandene Eintrag zurückgegeben.If a cache entry with a matching key already exists, they return the existing entry.

AddOrGetExisting(CacheItem, CacheItemPolicy)

Fügt einen Cacheeintrag unter Verwendung der angegebenen CacheItem-Instanz und Details zur Entfernung des Eintrags im Cache hinzu.Adds a cache entry into the cache using the specified CacheItem instance and details about how to evict the entry.

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.The object to add.

policy
CacheItemPolicy

Ein Objekt, das Entfernungsdetails für den Cacheeintrag enthält.An object that contains eviction details for the cache entry. Dieses Objekt stellt mehr Optionen für das Entfernen bereit als ein einfacher absoluter Ablauf.This object provides more options for eviction than a simple absolute expiration.

Gibt zurück

Der vorhandene Cacheeintrag, wenn ein Cacheeintrag mit demselben Schlüssel vorhanden ist, andernfalls null.If a cache entry with the same key exists, the existing cache entry; otherwise, null.

Ausnahmen

Die Value-Eigenschaft ist null.The Value property is 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.Both the absolute and sliding expiration values for the CacheItemPolicy object are set to values other than the defaults of InfiniteAbsoluteExpiration and NoSlidingExpiration fields. Die MemoryCache-Klasse kann keine Ablaufrichtlinie auf Grundlage einer Kombination einer absoluten Ablaufzeit und einer gleitenden Ablaufzeit festlegen.The MemoryCache class cannot set expiration policy based on a combination of an absolute expiration and a sliding expiration. Nur eine Ablaufeinstellung kann explizit festgelegt werden, wenn Sie die MemoryCache-Instanz verwenden.Only one expiration setting can be explicitly set when you use the MemoryCache instance. Die andere Ablaufeinstellung muss auf das InfiniteAbsoluteExpiration-Feld oder das NoSlidingExpiration-Feld festgelegt werden.The other expiration setting must be set to InfiniteAbsoluteExpiration field or NoSlidingExpiration field.

Die SlidingExpiration-Eigenschaft wird auf einen Wert kleiner als Zero festgelegt.The SlidingExpiration property is set to a value less than Zero.

- oder --or- Die SlidingExpiration-Eigenschaft ist auf einen größeren Wert als ein Jahr festgelegt.The SlidingExpiration property is set to a value greater than one year.

- oder --or- Die Priority-Eigenschaft ist kein Wert der CacheItemPriority-Enumeration.The Priority property is not a value of the CacheItemPriority enumeration.

Hinweise

Der item-Parameter liefert den Schlüssel und den Wert, der von der-Methode verwendet wird.The item parameter supplies the key and the value that is used by the method. Wenn der Cache über einen Cache Eintrag mit demselben Schlüssel wie der Schlüssel des item-Parameters verfügt, gibt die Methode den vorhandenen Eintrag als CacheItem Instanz zurück.If the cache has a cache entry with the same key as the key of the item parameter, the method returns the existing entry as a CacheItem instance. Wenn kein vorhandener Cache Eintrag vorhanden ist, erstellt die Methode eine neue, indem Sie den Schlüssel und den Wert verwendet, der vom item-Parameter bereitgestellt wird, sowie die Entfernungs Details, die von policyangegeben werden.If there is no existing cache entry, the method creates a new one by using the key and value supplied by the item parameter, and with the eviction details specified by policy.

Warnung

Die Methodenüberladungen Add und AddOrGetExisting unterstützen die UpdateCallback-Eigenschaft nicht.The Add and AddOrGetExisting method overloads do not support the UpdateCallback property. Daher verwenden Sie zum Festlegen der UpdateCallback-Eigenschaft für einen Cacheeintrag stattdessen die Set-Methodenüberladungen.Therefore, to set the UpdateCallback property for a cache entry, use the Set method overloads instead.

AddOrGetExisting(String, Object, DateTimeOffset, String)

Fügt einen Cacheeintrag unter Verwendung des angegebenen Schlüssels, eines Werts und eines absoluten Ablaufwerts im Cache hinzu.Adds a cache entry into the cache using the specified key and a value and an absolute expiration value.

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 = null) As Object

Parameter

key
String

Ein eindeutiger Bezeichner für den hinzuzufügenden Cacheeintrag.A unique identifier for the cache entry to add.

value
Object

Die Daten für den Cacheeintrag.The data for the cache entry.

absoluteExpiration
DateTimeOffset

Das feste Datum und die Uhrzeit, an dem bzw. zu der der Cacheeintrag abläuft.The fixed date and time at which the cache entry will expire.

regionName
String

Ein benannter Bereich im Cache, dem ein Cacheeintrag hinzugefügt werden kann.A named region in the cache to which a cache entry can be added. Übergeben Sie keinen Wert für diesen Parameter.Do not pass a value for this parameter. Dieser Parameter ist standardmäßig null, da die MemoryCache-Klasse keine Bereiche implementiert.This parameter is null by default, because the MemoryCache class does not implement regions.

Gibt zurück

Der vorhandene Cacheeintrag, wenn ein Cacheeintrag mit demselben Schlüssel vorhanden ist, andernfalls null.If a cache entry with the same key exists, the existing cache entry; otherwise, null.

Ausnahmen

value ist nicht null.value is not null.

regionName ist nicht null.regionName is not 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.Both the absolute and sliding expiration values for the CacheItemPolicy object are set to values other than the defaults of InfiniteAbsoluteExpiration and NoSlidingExpiration fields. Die MemoryCache-Klasse kann keine Ablaufrichtlinie auf Grundlage einer Kombination einer absoluten Ablaufzeit und einer gleitenden Ablaufzeit festlegen.The MemoryCache class cannot set expiration policy based on a combination of an absolute expiration and a sliding expiration. Nur eine Ablaufeinstellung kann explizit festgelegt werden, wenn Sie die MemoryCache-Instanz verwenden.Only one expiration setting can be explicitly set when you use the MemoryCache instance. Die andere Ablaufeinstellung muss auf InfiniteAbsoluteExpiration oder NoSlidingExpiration festgelegt werdenThe other expiration setting must be set to InfiniteAbsoluteExpiration or NoSlidingExpiration

Die SlidingExpiration-Eigenschaft wird auf einen Wert kleiner als Zero festgelegt.The SlidingExpiration property is set to a value less than Zero.

- oder --or- Die SlidingExpiration-Eigenschaft ist auf einen größeren Wert als ein Jahr festgelegt.The SlidingExpiration property is set to a value greater than one year.

- oder --or- Die Priority-Eigenschaft ist kein Wert der CacheItemPriority-Enumeration.The Priority property is not a value of the CacheItemPriority enumeration.

Hinweise

Wenn der Cache keinen Cache Eintrag hat, dessen Schlüssel mit dem key-Parameter übereinstimmt, wird ein neuer Cache Eintrag erstellt, und die MemoryCache.AddOrGetExisting-Methoden Überladung gibt nullzurück.If the cache does not have a cache entry whose key matches the key parameter, a new cache entry is created, and the MemoryCache.AddOrGetExisting method overload returns null. Wenn ein übereinstimmender Cache Eintrag vorhanden ist, wird der vorhandene Eintrag zurückgegeben.If a matching cache entry exists, the existing entry is returned.

Warnung

Die Methodenüberladungen Add und AddOrGetExisting unterstützen die UpdateCallback-Eigenschaft nicht.The Add and AddOrGetExisting method overloads do not support the UpdateCallback property. Daher verwenden Sie zum Festlegen der UpdateCallback-Eigenschaft für einen Cacheeintrag stattdessen die Set-Methodenüberladungen.Therefore, to set the UpdateCallback property for a cache entry, use the Set method overloads instead.

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.Inserts a cache entry into the cache using the specified key and value and the specified details for how it is to be evicted.

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 = null) As Object

Parameter

key
String

Ein eindeutiger Bezeichner für den Cacheeintrag, der hinzugefügt oder abgerufen werden soll.A unique identifier for the cache entry to add or get.

value
Object

Die Daten für den Cacheeintrag.The data for the cache entry.

policy
CacheItemPolicy

Ein Objekt, das Entfernungsdetails für den Cacheeintrag enthält.An object that contains eviction details for the cache entry. Dieses Objekt stellt mehr Optionen für das Entfernen bereit als ein einfacher absoluter Ablauf.This object provides more options for eviction than a simple absolute expiration.

regionName
String

Ein benannter Bereich im Cache, dem ein Cacheeintrag hinzugefügt werden kann.A named region in the cache to which a cache entry can be added. Übergeben Sie keinen Wert für diesen Parameter.Do not pass a value for this parameter. Dieser Parameter ist standardmäßig null, da die MemoryCache-Klasse keine Bereiche implementiert.By default, this parameter is null, because the MemoryCache class does not implement regions.

Gibt zurück

Ein Cacheeintrag, wenn bereits ein entsprechender Cacheeintrag vorhanden ist, andernfalls null.If a matching cache entry already exists, a cache entry; otherwise, null.

Ausnahmen

value ist null.value is null.

Sowohl die absoluten als auch die gleitenden Ablaufzeitwerte des CacheItemPolicy-Objekts werden auf andere Werte als die Standards von InfiniteAbsoluteExpiration und NoSlidingExpiration festgelegt.Both the absolute and sliding expiration values of CacheItemPolicy object are set to values other than the defaults of InfiniteAbsoluteExpiration and NoSlidingExpiration. Die MemoryCache-Klasse kann keine Ablaufrichtlinie auf Grundlage einer Kombination einer absoluten und einer gleitenden Ablaufzeit festlegen.The MemoryCache class cannot set expiration policy based on a combination of both an absolute and a sliding expiration. Nur eine Ablaufeinstellung kann explizit festgelegt werden, wenn Sie die MemoryCache-Klasse verwenden.Only one expiration setting can be explicitly set when you use the MemoryCache class. Die andere Einstellung muss auf InfiniteAbsoluteExpiration oder NoSlidingExpiration festgelegt werden.The other setting must be set to InfiniteAbsoluteExpiration or NoSlidingExpiration.

- oder --or- Sowohl der Löschrückruf als auch der Updaterückruf wurden für das CacheItemPolicy-Objekt angegeben.Both the removal callback and the update callback have been specified for CacheItemPolicy. Der MemoryCache unterstützt nur das Verwenden von einem Typ von Rückruf pro Cacheeintrag.The MemoryCache only supports using one type of callback per cache entry.

Die SlidingExpiration-Eigenschaft wird auf einen Wert kleiner als Zero festgelegt.The SlidingExpiration property is set to a value less than Zero.

- oder --or- Die SlidingExpiration wurde auf einen Wert größer als ein Jahr festgelegt.The SlidingExpiration has been set to a value greater than one year.

- oder --or- Die Priority-Eigenschaft ist kein Wert der CacheItemPriority-Enumeration.The Priority property is not a value of the CacheItemPriority enumeration.

Hinweise

Warnung

Die Methodenüberladungen Add und AddOrGetExisting unterstützen die UpdateCallback-Eigenschaft nicht.The Add and AddOrGetExisting method overloads do not support the UpdateCallback property. Daher verwenden Sie zum Festlegen der UpdateCallback-Eigenschaft für einen Cacheeintrag stattdessen die Set-Methodenüberladungen.Therefore, to set the UpdateCallback property for a cache entry, use the Set method overloads instead.

Gilt für: