是否有任何标准工具或推荐的异步任务执行方法?
UPD我明白了,如何使用线程。我只需要知道在执行异步调用时阻止UI的推荐WPF方式,以及如何更新进度信息。
答案 0 :(得分:7)
答案 1 :(得分:1)
看看下面的帖子,它描述了一种创建异步委托命令的方法(使用BackgroundWorker
)。我在我们的应用程序中使用了这种命令,它工作正常,同时它提供了一种一致的异步处理方式。
异步委托命令 你的WPF MVVM应用程序 - AsyncDelegateCommand http://amazedsaint.blogspot.com/2010/10/asynchronous-delegate-command-for-your.html
此处还提到了类似的实现 - Asynchronous WPF Commands
答案 2 :(得分:0)
取决于你想要做什么异步。 例如调用WCF服务我使用内置方式,使用完成模式为您进行编组。 正常后台工作我使用BackgroundWorker,因为您再次无需担心编组。
答案 3 :(得分:0)
除标准线程外。要使用的一件事是许多类的异步方法,它们可以做到这一点。这包括Web服务请求,文件读/写操作。
首先要看的是Coroutines,主要由Caliburn.Micro使用。但这不是标准的做法。
.NET 4还添加了Task类和ParallelExtensions,它可以更容易地进行异步编程。但它仍然笨拙,所以.NET 5增加了异步编程模型,使thigs更容易。但上帝知道什么时候会被释放。