MemoryCache.Set Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vloží do mezipaměti položku mezipaměti.
Přetížení
Set(CacheItem, CacheItemPolicy) |
Vloží do mezipaměti položku mezipaměti pomocí CacheItem instance pro zadání klíče a hodnoty pro položku mezipaměti. |
Set(String, Object, DateTimeOffset, String) |
Vloží do mezipaměti položku 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ží do mezipaměti položku 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
Vloží do mezipaměti položku mezipaměti pomocí CacheItem instance pro 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, která se má vložit.
- policy
- CacheItemPolicy
Objekt, který obsahuje podrobnosti o vyřazení položky mezipaměti. Tento objekt poskytuje více možností vyřazení než jednoduché absolutní vypršení platnosti.
Výjimky
Byla předána neplatná kombinace argumentů pro položku mezipaměti. K tomu dochází, pokud jsou u objektu 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í InfiniteAbsoluteExpiration hodnoty polí a NoSlidingExpiration . Třída MemoryCache nemůže nastavit zásady vypršení platnosti na základě absolutního i posuvného vypršení platnosti. Při použití MemoryCache třídy lze explicitně nastavit pouze jedno nastavení vypršení platnosti. Druhé nastavení musí být nastaveno na InfiniteAbsoluteExpiration 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í pro každou 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-
Hodnota Priority není hodnota výčtu CacheItemPriority .
Poznámky
Stejně jako u jiných Set přetížení Set metod metoda vždy vloží hodnotu mezipaměti do mezipaměti bez ohledu na to, zda již existuje položka, 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
Vloží do mezipaměti položku 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 pro vložení položky mezipaměti.
- 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 tohoto parametru. Tento parametr je null
ve výchozím nastavení, protože MemoryCache třída neimplementuje oblasti.
Výjimky
regionName
není null
.
Byla předána neplatná kombinace argumentů pro položku mezipaměti. K tomu dochází, pokud jsou u objektu 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 u objektu CacheItemPolicy nastaveny InfiniteAbsoluteExpiration na jiné hodnoty než výchozí hodnoty a NoSlidingExpiration. K tomu dochází, protože MemoryCache třída nepodporuje vypršení platnosti položek na základě absolutního i posuvného vypršení platnosti. Při použití MemoryCache třídy lze explicitně nastavit pouze jedno nastavení vypršení platnosti. Druhé nastavení musí být nastaveno na InfiniteAbsoluteExpiration 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í pro každou 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 .
Poznámky
Stejně jako u jiných Set přetížení Set metod metoda vždy vloží 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 CacheItemUpdateCallback nebo CacheItemRemovedCallback objektu, je důvod pro odebrání, který se předá zpětným voláním, obsažen ve Removed vlastnosti.
Platí pro
Set(String, Object, CacheItemPolicy, String)
- Zdroj:
- MemoryCache.cs
- Zdroj:
- MemoryCache.cs
- Zdroj:
- MemoryCache.cs
Vloží do mezipaměti položku 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 pro vložení položky mezipaměti.
- value
- Object
Data pro položku mezipaměti.
- policy
- CacheItemPolicy
Objekt, který obsahuje podrobnosti o 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 tohoto parametru. 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 na zpětné volání, který byl předán pomocné metodě ve UpdateCallback vlastnosti je null
.
Pro položku mezipaměti existuje neplatná kombinace argumentů. K tomu dochází, pokud jsou u objektu 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 u objektu CacheItemPolicy nastaveny InfiniteAbsoluteExpiration na jiné hodnoty než výchozí hodnoty a NoSlidingExpiration. Je to proto, že MemoryCache třída nepodporuje vypršení platnosti položek na základě absolutního i posuvného vypršení platnosti. Při použití MemoryCache třídy lze explicitně nastavit pouze jedno nastavení vypršení platnosti. Druhé nastavení musí být nastaveno na InfiniteAbsoluteExpiration 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í pro každou 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 u jiných Set přetížení Set metod metoda vždy vloží 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 CacheItemUpdateCallback nebo CacheItemRemovedCallback objektu, je důvod pro odebrání, který se předá zpětným voláním, obsažen ve Removed vlastnosti.