Ejemplo n.º 1
0
        public static async Task <IEnumerable <T> > TryGetEnumerableFromCacheAsync <T>(this ICacheProvider cacheProvider,
                                                                                       string key, Func <Task <IEnumerable <T> > > retrievalFunc)
        {
            if (await cacheProvider.ContainsKeyAsync(key))
            {
                return(await cacheProvider.GetAsync <T[]>(key));
            }

            var data = await retrievalFunc();

            _ = cacheProvider.AddAsync(key, data.ToArray());
            return(data);
        }