MemoryCache.Set Metoda

Definice

Vloží položku mezipaměti do mezipaměti.

Přetížení

Name Description
Set(CacheItem, CacheItemPolicy)

Vloží položku mezipaměti do mezipaměti pomocí CacheItem instance k zadání klíče a hodnoty pro položku mezipaměti.

Set(String, Object, DateTimeOffset, String)

Vloží položku mezipaměti do mezipaměti pomocí klíče a hodnoty a určuje podrobnosti o vypršení platnosti na základě času.

Set(String, Object, CacheItemPolicy, String)

Vloží položku mezipaměti do mezipaměti pomocí klíče a hodnoty a vyřazení.

Poznámky

Pokud zadaná položka neexistuje, vytvoří se. Pokud zadaná položka existuje, aktualizuje se.

Set(CacheItem, CacheItemPolicy)

Zdroj:
MemoryCache.cs
Zdroj:
MemoryCache.cs
Zdroj:
MemoryCache.cs
Zdroj:
MemoryCache.cs

Vloží položku mezipaměti do mezipaměti pomocí CacheItem instance k zadání klíče a hodnoty pro položku mezipaměti.

public:
 override void Set(System::Runtime::Caching::CacheItem ^ item, System::Runtime::Caching::CacheItemPolicy ^ policy);
public override void Set(System.Runtime.Caching.CacheItem item, System.Runtime.Caching.CacheItemPolicy policy);
override this.Set : System.Runtime.Caching.CacheItem * System.Runtime.Caching.CacheItemPolicy -> unit
Public Overrides Sub Set (item As CacheItem, policy As CacheItemPolicy)

Parametry

item
CacheItem

Objekt, který představuje položku mezipaměti pro vložení.

policy
CacheItemPolicy

Objekt, který obsahuje podrobnosti vyřazení položky mezipaměti. Tento objekt poskytuje více možností vyřazení než jednoduché absolutní vypršení platnosti.

Výjimky

item je null.

nebo

Vlastnost Key je null.

nebo

Vlastnost Value je null.

Byla předána neplatná kombinace argumentů pro položku mezipaměti. K tomu dochází v případě, že jsou pro objekt zásad pro položku mezipaměti nastaveny následující podrobnosti o vypršení platnosti:

  • Pokud jsou absolutní i posuvné hodnoty vypršení platnosti objektu CacheItemPolicy nastaveny na jiné hodnoty než výchozí hodnoty InfiniteAbsoluteExpiration a NoSlidingExpiration pole. Třída MemoryCache nemůže nastavit zásady vypršení platnosti na základě absolutního vypršení platnosti i posuvného vypršení platnosti. Při použití MemoryCache třídy je možné explicitně nastavit pouze jedno nastavení vypršení platnosti. Druhé nastavení musí být nastaveno na InfiniteAbsoluteExpiration hodnotu nebo NoSlidingExpiration vlastnost.

  • Pokud je pro CacheItemPolicy objekt zadáno zpětné volání odebrání i zpětné volání aktualizace. Třída MemoryCache podporuje pouze použití jednoho typu zpětného volání na položku mezipaměti.

Vlastnost SlidingExpiration je nastavena na hodnotu menší než Zero.

nebo

Vlastnost SlidingExpiration je nastavena na hodnotu větší než jeden rok.

nebo

Nejedná se Priority o hodnotu výčtu CacheItemPriority .

Poznámky

Stejně jako jiné Set přetížení metody metoda Set vždy umístí hodnotu mezipaměti do mezipaměti bez ohledu na to, zda položka již existuje, která má stejný klíč. Pokud zadaná položka v mezipaměti neexistuje, vloží se nová položka mezipaměti. Pokud zadaná položka již existuje, její hodnota se aktualizuje.

Platí pro

Set(String, Object, DateTimeOffset, String)

Zdroj:
MemoryCache.cs
Zdroj:
MemoryCache.cs
Zdroj:
MemoryCache.cs
Zdroj:
MemoryCache.cs

Vloží položku mezipaměti do mezipaměti pomocí klíče a hodnoty a určuje podrobnosti o vypršení platnosti na základě času.

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

Parametry

key
String

Jedinečný identifikátor položky mezipaměti, který se má vložit.

value
Object

Data pro položku mezipaměti.

absoluteExpiration
DateTimeOffset

Pevné datum a čas, kdy vyprší platnost položky mezipaměti.

regionName
String

Pojmenovaná oblast v mezipaměti, do které lze přidat položku mezipaměti. Nepředávejte hodnotu pro tento parametr. Tento parametr je null ve výchozím nastavení, protože MemoryCache třída neimplementuje oblasti.

Výjimky

regionName není null.

key je null.

nebo

value je null.

  • Byla předána neplatná kombinace argumentů pro položku mezipaměti. K tomu dochází v případě, že jsou pro objekt zásad pro položku mezipaměti nastaveny následující podrobnosti o vypršení platnosti:

  • Pokud jsou absolutní i posuvné hodnoty CacheItemPolicy vypršení platnosti objektu nastaveny na jiné hodnoty než výchozí InfiniteAbsoluteExpiration hodnoty a NoSlidingExpiration. K tomu dochází, protože MemoryCache třída nepodporuje položky vypršení platnosti na základě absolutního i posuvného vypršení platnosti. Při použití MemoryCache třídy je možné explicitně nastavit pouze jedno nastavení vypršení platnosti. Ostatní nastavení musí být nastaveno na InfiniteAbsoluteExpiration hodnotu nebo NoSlidingExpiration.

  • Pokud je u objektu zadáno CacheItemPolicy zpětné volání odebrání i zpětné volání aktualizace. Třída MemoryCache podporuje pouze použití jednoho typu zpětného volání na položku mezipaměti.

Vlastnost SlidingExpiration je nastavena na hodnotu menší než Zero.

nebo

Vlastnost SlidingExpiration je nastavena na hodnotu větší než jeden rok.

nebo

Poznámky

Stejně jako jiné Set přetížení metody metoda Set vždy umístí hodnotu mezipaměti do mezipaměti bez ohledu na to, zda položka již existuje se stejným klíčem. Pokud zadaná položka neexistuje, vloží se nová položka mezipaměti. Pokud zadaná položka existuje, aktualizuje se.

Parametr absoluteExpiration označuje, kdy má být položka odebrána z mezipaměti.

Odebrání položky aktivuje všechna přidružená monitorování změn. Pokud byla odebraná položka přidružena k objektu nebo CacheItemUpdateCallback objektuCacheItemRemovedCallback, je důvod odebrání, který je předán zpětná volání, obsažena ve Removed vlastnosti.

Platí pro

Set(String, Object, CacheItemPolicy, String)

Zdroj:
MemoryCache.cs
Zdroj:
MemoryCache.cs
Zdroj:
MemoryCache.cs
Zdroj:
MemoryCache.cs

Vloží položku mezipaměti do mezipaměti pomocí klíče a hodnoty a vyřazení.

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

Parametry

key
String

Jedinečný identifikátor položky mezipaměti, který se má vložit.

value
Object

Data pro položku mezipaměti.

policy
CacheItemPolicy

Objekt, který obsahuje podrobnosti vyřazení položky mezipaměti. Tento objekt poskytuje více možností vyřazení než jednoduché absolutní vypršení platnosti.

regionName
String

Pojmenovaná oblast v mezipaměti, do které lze přidat položku mezipaměti. Nepředávejte hodnotu pro tento parametr. Tento parametr je null ve výchozím nastavení, protože MemoryCache třída neimplementuje oblasti.

Výjimky

key je null.

nebo

value je null

nebo

Odkaz zpětného volání, který byl předán pomocné metodě ve UpdateCallback vlastnosti je null.

  • Existuje neplatná kombinace argumentů pro položku mezipaměti. K tomu dochází v případě, že jsou pro objekt zásad pro položku mezipaměti nastaveny následující podrobnosti o vypršení platnosti:

  • Pokud jsou absolutní i posuvné hodnoty CacheItemPolicy vypršení platnosti objektu nastaveny na jiné hodnoty než výchozí InfiniteAbsoluteExpiration hodnoty a NoSlidingExpiration. Důvodem je to, že MemoryCache třída nepodporuje položky s vypršenou platností na základě absolutního i posuvného vypršení platnosti. Při použití MemoryCache třídy je možné explicitně nastavit pouze jedno nastavení vypršení platnosti. Ostatní nastavení musí být nastaveno na InfiniteAbsoluteExpiration hodnotu nebo NoSlidingExpiration.

  • Pokud je ve třídě zadáno CacheItemPolicy zpětné volání odebrání i zpětné volání aktualizace. Třída MemoryCache podporuje pouze použití jednoho typu zpětného volání na položku mezipaměti.

Vlastnost SlidingExpiration je nastavena na hodnotu menší než Zero.

nebo

Vlastnost SlidingExpiration je nastavena na hodnotu větší než jeden rok.

nebo

Vlastnost Priority není hodnotou výčtu CacheItemPriority .

regionName není null.

Poznámky

Stejně jako jiné Set přetížení metody metoda Set vždy umístí hodnotu mezipaměti do mezipaměti bez ohledu na to, zda odpovídající položka již existuje. Pokud zadaná položka v mezipaměti neexistuje, vloží se nová položka mezipaměti. Pokud zadaná položka existuje, aktualizuje se.

Odebrání položky aktivuje všechna přidružená monitorování změn. Pokud byla odebraná položka přidružena k objektu nebo CacheItemUpdateCallback objektuCacheItemRemovedCallback, je důvod odebrání, který je předán zpětná volání, obsažena ve Removed vlastnosti.

Platí pro