如何防止保存数据导致Windows Phone中的死锁

本文关键字:Phone 死锁 Windows 何防止 保存 数据 | 更新日期: 2023-09-27 18:33:20

>我有一个函数插入数据库异步,该函数在后台传输状态更改时被调用,有时会导致死锁

    await vm.InsertVerseDownloadProgress_Bulk(tracks.Cast<QuranVerseTrack>().ToList()).ConfigureAwait(true);
    await vm.InsertVerseDownloadProgress_Bulk(tracks.Cast<QuranVerseTrack>().ToList()).ConfigureAwait(false);
    await vm.InsertVerseDownloadProgress_Bulk(tracks.Cast<QuranVerseTrack>().ToList()).ConfigureAwait(true);

我不确定要使用哪一个

如何防止保存数据导致Windows Phone中的死锁

ConfigureAwait(true) 是默认值,它会导致您的 Task 封送回启动它的线程。

死锁主要是由于在UI踏板中的某个位置等待结果引起的(等待,而不是等待;通过调用task.wait或task.result)。

如果没有进一步的背景,您的问题将无法回答。