예제 #1
0
 public async Task <List <T> > Get()
 {
     using (var l = await _lock.LockAsync())
     {
         return(await _localStorageFileRepo.GetAll <T>(_getFolderName(), false));
     }
 }
예제 #2
0
        public async Task <List <T> > GetAll <T>()
            where T : class, new()
        {
            var path   = _getDirPath <T>();
            var locker = XNamedLock.Get(path + "getall");

            using (var locked = await locker.LockAsync())
            {
                var f = await _storageFileRepo.GetAll <XCacheItem <T> >(path, false);

                if (f == null)
                {
                    return(null);
                }

                var result = new List <T>();
                result.AddRange(f.Select(_ => _.Item));
                return(result);
            }
        }