CacheExtensions.GetOrCreateAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
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>>)
如果這個索引鍵存在,請以異步方式取得與這個索引鍵相關聯的值,或者如果找不到索引鍵,則使用提供的索引鍵和來自指定處理站的值產生新專案。
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)
如果這個索引鍵存在,請以異步方式取得與這個索引鍵相關聯的值,或者如果找不到索引鍵,則使用提供的索引鍵和來自指定處理站的值產生新專案。
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>
表示異步操作的工作物件。