ApplicationData.Current.LocalFolder GetFile同步

时间:2017-11-18 01:31:02

标签: c# xamarin uwp

我需要在程序启动时创建一个数据库/检查它是否存在。

ApplicationData.Current.LocalFolder.GetFileAsync

我的申请无法在此测试完成之前运行。

因此我想将我的呼叫改为同步。

但是,我只看到

cache.drop([overlap_list])

.GetFile不存在。

使呼叫同步的方法是什么?

2 个答案:

答案 0 :(得分:1)

您可以使用System.IO中的.NET API同步读取文件。您可以从StorageFolder.Path获取LocalFolder属性,并将路径名称传递给.NET。

FileStream constructor需要pathmode,然后您可以同步或异步读取和写入。

答案 1 :(得分:1)

async没有问题。

如果您执行所有异步操作,例如

private async void DoThis()
{
   await SomethingA();
   await SomethingB();

   return;
}

然后你可以确定在等待SomethingA()之前永远不会调用SomethingB()。

这就是为什么在子程序中执行异步操作后必须执行所有异步操作的原因。