我需要在我的程序啓動時創建一個數據庫/檢查它的存在。ApplicationData.Current.LocalFolder GetFile同步
public async Task CopyDatabaseIfNotExists(string dbPath)
{
var nExpectedFolder = IsolatedStorageFile.GetUserStoreForApplication();
try
{
await ApplicationData.Current.LocalFolder.GetFileAsync(dbPath); //nExpectedFolder.GetFileAsync(dbPath);/// ApplicationData.Current.LocalFolder.GetFileAsync("preinstalledDB.db");
// No exception means it exists
return;
}
catch (System.IO.FileNotFoundException)
{
// The file obviously doesn't exist
}
(... some other stuff)
我的應用程序不能也不應該在測試完成之前運行。
因此,我想改變我的呼叫是同步的。
不過,我只看到
ApplicationData.Current.LocalFolder.GetFileAsync
.GetFile不存在。
什麼樣的方式使呼叫同步?
我相信處理這個問題的正確方法是從其調用方法使用此方法await。在使用調用方法之前,一直在調用範圍鏈,直到你從構造函數調用。或者使用「異步無效」方法來調用它,如果你必須同步運行它。 [link] https://msdn.microsoft.com/en-us/magazine/jj991977.aspx –