如何在窗口手机中运行后台等待

本文关键字:运行 后台 等待 手机 窗口 | 更新日期: 2023-09-27 17:53:05

我想在应用程序关闭时在后台运行一个方法。

async private void()
{
    var bgw = new BackgroundWorker();
    bgw.DoWork += (s,v) =>
    {
       string temp= await doSomething();
    };
    bgw.RunWorkerCompleted += (s,v) =>
    {
       //...
    };
    bgw.RunWorkerAsync();
}

产生以下错误

await操作符只能在async lambda表达式中使用。

我该如何修复它?

如何在窗口手机中运行后台等待

DoWork不能为async。我建议您使用Task.Run代替:

async private void X()
{
  await Task.Run(() => doSomething());
  //...
}

但是,您可能需要调用Wait而不是await,因为这是在应用程序关闭时完成的。