【发布时间】:2019-03-02 13:08:41
【问题描述】:
下面两个代码sn-ps可以用.ConfigureAwait(false)吗?
案例 1
var ds = new BindingSource();
ds.DataSource = await CallAsync(); // .ConfigureAwait(false);
UIControl.DataSource = ds;
案例 2
UIControl.DataSource = new BindingSource
{
DataSource = await CallAsync() // .ConfigureAwait(false)
};
第一个好像是后台线程设置UI控件的问题?第二个呢?
【问题讨论】:
-
是的,两种情况都有问题。
-
不清楚你为什么要在这个context中考虑
ConfigureAwait(false)。是因为CallAsync()没有那么多 async 吗?您是否使用Task.Run()来实现一个不太常见的async方法?也许只是部分async?
标签: c# .net multithreading winforms async-await