【发布时间】:2018-12-25 09:43:14
【问题描述】:
我有一个清理任务,它会在退出时删除一个大文件。
private async Task DoCleanup()
{
await Task.Run(() =>
{
File.Delete(FilePath);
});
}
现在我想在退出时等待该任务(FormClosing 事件),但表单在文件被完全删除之前关闭。
我尝试过手动取消事件并退出应用程序,如下所示:
private async void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
this.Hide();
e.Cancel = true;
await DoCleanup();
Application.Exit();
}
但是任务被一遍又一遍地调用(就像一个无限循环)。我该怎么办?
【问题讨论】:
标签: c# async-await task