UWP应用程序挂起在字符串FileIO.WriteBytesAsync中

UWP应用程序挂起在字符串FileIO.WriteBytesAsync中,uwp,io,Uwp,Io,我使用Win10和以下代码: CacheFolder = await ApplicationData.Current.LocalCacheFolder.CreateFolderAsync(CACHEFOLDER, CreationCollisionOption.OpenIfExists); StorageFile _file = await CacheFolder.CreateFileAsync(key, CreationCollisionOption.ReplaceExisting); awa

我使用Win10和以下代码:

CacheFolder = await ApplicationData.Current.LocalCacheFolder.CreateFolderAsync(CACHEFOLDER, CreationCollisionOption.OpenIfExists);
StorageFile _file = await CacheFolder.CreateFileAsync(key, CreationCollisionOption.ReplaceExisting);
await FileIO.WriteBytesAsync(_file, data);
文件创建,字节[]保存在那里,但恰好在最后一个字符串应用程序挂起时。可能是什么原因?在哪里挖掘?有趣的是,它不是每次运行都会发生,而是经常发生

await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
...
}
它是有效的。

我用

await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
...
}

它可以工作。

您是否以等待异步方式调用代码?如果您不这样调用,编译器将给出警告,如果您选择忽略此警告,则可能会遇到此问题。是的,我将其包装在公共静态异步任务SaveImage(字符串键,字节[]数据)中,您如何调用此方法?确保所有调用链中都存在Wait async。我认为调用此方法不需要Wait,因为它已经在await FileIO.WriteBytesAsync中。。错了吗?我不知道在哪里挖。应用程序挂起,那里发生了什么?文件未锁定,图片已存在。是否以等待异步方式调用代码?如果您不这样调用,编译器将给出警告,如果您选择忽略此警告,则可能会遇到此问题。是的,我将其包装在公共静态异步任务SaveImage(字符串键,字节[]数据)中,您如何调用此方法?确保所有调用链中都存在Wait async。我认为调用此方法不需要Wait,因为它已经在await FileIO.WriteBytesAsync中。。错了吗?我不知道在哪里挖。应用程序挂起,那里发生了什么?文件未锁定,图片已存在。