共用方式為


CacheExtensions.GetOrCreateAsync 方法

定義

多載

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

如果這個索引鍵存在,請以異步方式取得與這個索引鍵相關聯的值,或者如果找不到索引鍵,則使用提供的索引鍵和來自指定處理站的值產生新專案。

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>>

如果索引鍵不存在於快取中,則建立與此索引鍵相關聯的值 Factory 工作。

傳回

Task<TItem>

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

適用於

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

來源:
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>>

如果索引鍵不存在於快取中,則建立與此索引鍵相關聯的值 Factory 工作。

createOptions
MemoryCacheEntryOptions

如果索引鍵不存在於快取中,則套用至 ICacheEntry 的選項。

傳回

Task<TItem>

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

適用於