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>>
Задача фабрики, которая создает значение, связанное с этим ключом, если ключ не существует в кэше.
Возвращаемое значение
Объект задачи, представляющий асинхронную операцию.
Применяется к
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, если ключ не существует в кэше.
Возвращаемое значение
Объект задачи, представляющий асинхронную операцию.