gpt4 book ai didi

c# - 检查来自不同线程的异步任务的完成

转载 作者:行者123 更新时间:2023-11-30 16:54:33 25 4
gpt4 key购买 nike

我正在使用异步任务来上传文件和更新数据库。我需要知道应用程序何时关闭以更新数据库中的上传状态。

我的任务是在 ViewModel 类中。

private async void OnUpload(object param)
{
await Task.Factory.StartNew(() =>
{
try
{
...
}
catch (Exception ex)
{
...
}
}
}

我应该在我的 MainWindow OnClosing 事件中放入什么?

protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
....

base.OnClosing(e);
}

最佳答案

在您的类中取一个 bool 变量 IsTaskCompleted 并将默认值保持为 false。作为任务的 try block 中的最后一条语句,将 IsTaskCompleted 设置为 true

在关闭事件处理程序中检查此变量,如果值为 false 则表示任务未完成。

关于c# - 检查来自不同线程的异步任务的完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30387798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com