Поделиться через


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

Асинхронно получает значение, связанное с этим ключом, если оно существует, или создает новую запись с помощью предоставленного ключа и значения из заданной фабрики, если ключ не найден.

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

Асинхронно получает значение, связанное с этим ключом, если оно существует, или создает новую запись с помощью предоставленного ключа и значения из заданной фабрики, если ключ не найден.

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>

Объект задачи, представляющий асинхронную операцию.

Применяется к