我的應用程序在它有機會運行一次之前完全凍結。以下是上下文: 我正在構建一個UWP應用程序,該應用程序將與用戶目錄一起工作,監視其中的文件並將其列入UI控件。我通過創建手動文件夾選擇提示將該目錄添加到futureaccess列表中。我也有一個服務類,它應該給我一個駐留在該目錄中的文件列表。一旦我到達GetFolderFromPathAsync方法,應用程序就會凍結。沒有任何例外或任何類型的錯誤,該應用程序試圖啓動,只是無限期地坐在啓動過程。 在此處,該方法被稱爲類:當我打電話時,應用程序會凍結GetFolderFromPathAsync
public class ReplayDirectoryManager
{
public async static Task<List<StorageFile>> GetAllReplaysFromReplayDirectory()
{
string replayDirectoryPath = SettingsServices.SettingsService.Instance.ReplayFolderLocation;
StorageFolder replayFolder = await StorageFolder.GetFolderFromPathAsync(replayDirectoryPath);
return new List<StorageFile>(await replayFolder.GetFilesAsync());
}
}
如何讓我的代碼工作?有什麼建議麼?
下面是我使用的位置添加到列表futureaccess
FolderPicker picker = new FolderPicker();
picker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
picker.FileTypeFilter.Add("*");
StorageFolder folder = await picker.PickSingleFolderAsync();
if (folder != null)
{
Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList.Add(folder);
ReplayFolderLocation = folder.Path;
}
您是否嘗試記住'FutureAccessList.Add(文件夾)'返回的令牌,然後通過使用它來獲取* StorageFolder *?通常這是應該如何完成的,不要通過UWP中的路徑訪問文件/文件夾。 – Romasz
該路徑中有多少個文件/文件夾?嘗試一個空文件夾,並告訴我們它是如何去的。 – Rafael