我正在开发一个MVVM WPF应用程序,我有一些任务要做。
我的问题是我不知道如何通过弹出通知或其他值已经保存在数据库中的用户注意到用户。
private void SaveDatasInDatabase()
{
ShowLoadingPanel = true;
_service.SaveValuesInDatabase(rows);
}
private async void startActions()
{
await LoadandParseCsv();
await SaveDatasInDatabase();
}
在我的Service.cs
中public string SaveDatasInDatabase(List<Object> rows)
{
Task.Run(async () =>
{
await SaveEntity(rows);
return "Done";
});
}
提前致谢。
Jolynce
答案 0 :(得分:1)
您知道在执行startActions()
方法的其余部分后,任务已完成:
private async void startActions()
{
await LoadandParseCsv();
await SaveDatasInDatabase();
MessageBox.Show("done");
}
...假设实际等待SaveEntity
方法中的SaveDatasInDatabase()
方法:
public async Task<string> SaveDatasInDatabase(List<Object> rows)
{
await SaveEntity(rows);
return "Done";
}
如果您只是在没有等待退回的Task.Run
的情况下致电Task
,那么您就不知道它何时结束。
SaveDatasInDatabase
方法的返回类型应为Task
或Task<T>
,以便您能够等待它。同样的事情适用于SaveEntity
方法。