I have this piece of code
public static class Storage { public async static Task<bool> Exists(string filename) { var folder = await Package.Current.InstalledLocation.GetFolderAsync("Assets"); var _files= await folder.GetFilesAsync(CommonFileQuery.OrderByName).AsTask().ConfigureAwait(false); var file = _files.FirstOrDefault(x => x.Name == filename); return file != null; } }
and calling it from my Windows 8 Store application;
this.IconExists = this.Game != null && Storage.Exists(this.IconName).Result;
So, if I put a breakpoint in the above line and run it step by step, it works, but without breaking and just starting the application it causes the application to freeze.
And similar code worked on commit a few days ago;
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Windows.ApplicationModel; using Windows.Storage; using Windows.Storage.Search; namespace eggrr.Core.FileStorage { public class Storage { private IReadOnlyList<StorageFile> _files; public Storage() { _files = GetFilesAsync("Assets").Result; } private async Task<IReadOnlyList<StorageFile>> GetFilesAsync(string relativeFolderPath) { var path = string.Format("{0}\\{1}", Package.Current.InstalledLocation.Path, relativeFolderPath); var folder = await StorageFolder.GetFolderFromPathAsync(path); return await folder.GetFilesAsync(CommonFileQuery.OrderByName).AsTask().ConfigureAwait(false); } public bool Exists(string filename) { var file = _files.FirstOrDefault(x => x.Name == filename); return file != null; } private static readonly Storage _instance = new Storage(); public static Storage Instance { get { return _instance; } } } }
Any ideas?
source share