語言

CacheExtensions.GetOrCreateAsync 方法

定義

多載

名稱 Description
GetOrCreateAsync<TItem>(IMemoryCache, Object, Func<ICacheEntry,Task<TItem>>)

非同步取得該金鑰(若存在)的值,或若找不到金鑰則使用所提供的金鑰與工廠的值產生新條目。

GetOrCreateAsync<TItem>(IMemoryCache, Object, Func<ICacheEntry,Task<TItem>>, MemoryCacheEntryOptions)

非同步取得該金鑰(若存在)的值,或若找不到金鑰則使用所提供的金鑰與工廠的值產生新條目。

GetOrCreateAsync<TItem>(IMemoryCache, Object, Func<ICacheEntry,Task<TItem>>)

來源:
MemoryCacheExtensions.cs
來源:
MemoryCacheExtensions.cs
來源:
MemoryCacheExtensions.cs
來源:
MemoryCacheExtensions.cs
來源:
MemoryCacheExtensions.cs

非同步取得該金鑰(若存在)的值,或若找不到金鑰則使用所提供的金鑰與工廠的值產生新條目。

public:
generic <typename TItem>
[System::Runtime::CompilerServices::Extension]
 static System::Threading::Tasks::Task<TItem> ^ GetOrCreateAsync(Microsoft::Extensions::Caching::Memory::IMemoryCache ^ cache, System::Object ^ key, Func<Microsoft::Extensions::Caching::Memory::ICacheEntry ^, System::Threading::Tasks::Task<TItem> ^> ^ factory);
public static System.Threading.Tasks.Task<TItem?> GetOrCreateAsync<TItem>(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, Func<Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Threading.Tasks.Task<TItem>> factory);
static member GetOrCreateAsync : Microsoft.Extensions.Caching.Memory.IMemoryCache * obj * Func<Microsoft.Extensions.Caching.Memory.ICacheEntry, System.Threading.Tasks.Task<'Item>> -> System.Threading.Tasks.Task<'Item>
<Extension()>
Public Function GetOrCreateAsync(Of TItem) (cache As IMemoryCache, key As Object, factory As Func(Of ICacheEntry, Task(Of TItem))) As Task(Of TItem)

類型參數

TItem

要取得的物件類型。

參數

cache
IMemoryCache

此 IMemoryCache 方法擴展的實例。

key
Object

入口的鑰匙是尋找或創造的。

factory
Func<ICacheEntry,Task<TItem>>

工廠任務負責在快取中不存在該金鑰時,建立與該金鑰相關聯的值。

傳回

Task<TItem>

表示異步操作的工作物件。

適用於

GetOrCreateAsync<TItem>(IMemoryCache, Object, Func<ICacheEntry,Task<TItem>>, MemoryCacheEntryOptions)

來源:
MemoryCacheExtensions.cs
來源:
MemoryCacheExtensions.cs
來源:
MemoryCacheExtensions.cs
來源:
MemoryCacheExtensions.cs

非同步取得該金鑰(若存在)的值,或若找不到金鑰則使用所提供的金鑰與工廠的值產生新條目。

public:
generic <typename TItem>
[System::Runtime::CompilerServices::Extension]
 static System::Threading::Tasks::Task<TItem> ^ GetOrCreateAsync(Microsoft::Extensions::Caching::Memory::IMemoryCache ^ cache, System::Object ^ key, Func<Microsoft::Extensions::Caching::Memory::ICacheEntry ^, System::Threading::Tasks::Task<TItem> ^> ^ factory, Microsoft::Extensions::Caching::Memory::MemoryCacheEntryOptions ^ createOptions);
public static System.Threading.Tasks.Task<TItem?> GetOrCreateAsync<TItem>(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, Func<Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Threading.Tasks.Task<TItem>> factory, Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions? createOptions);
static member GetOrCreateAsync : Microsoft.Extensions.Caching.Memory.IMemoryCache * obj * Func<Microsoft.Extensions.Caching.Memory.ICacheEntry, System.Threading.Tasks.Task<'Item>> * Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions -> System.Threading.Tasks.Task<'Item>
<Extension()>
Public Function GetOrCreateAsync(Of TItem) (cache As IMemoryCache, key As Object, factory As Func(Of ICacheEntry, Task(Of TItem)), createOptions As MemoryCacheEntryOptions) As Task(Of TItem)

類型參數

TItem

要取得的物件類型。

參數

cache
IMemoryCache

此 IMemoryCache 方法擴展的實例。

key
Object

入口的鑰匙是尋找或創造的。

factory
Func<ICacheEntry,Task<TItem>>

工廠任務負責在快取中不存在該金鑰時,建立與該金鑰相關聯的值。

createOptions
MemoryCacheEntryOptions

如果快取中沒有金鑰,該選項應套用 ICacheEntry 。

傳回

Task<TItem>

表示異步操作的工作物件。

適用於