尽管异步调用,ADO .NET阻止

时间:2017-07-04 06:40:19

标签: mysql wpf ado.net

我有一个WPF应用程序,当用户单击按钮时,我正在进行一些数据库操作。使用GalaSoft的MVVM Light中的RelayCommand将按钮单击绑定到命令。

由于数据量很大,MySQL正在给我超时,但真正的问题是另一个问题。我正在异步执行所有操作,然而,应用程序阻塞,直到超时结束。

enter image description here

我总是希望UI在异步操作运行时保持响应。例如,如果我使用HttpClient执行GET请求,无论返回响应需要多长时间,我仍然可以使用UI。

我正在使用MySQL的Pomelo数据提供程序(Pomelo.Data.MySql)。

1 个答案:

答案 0 :(得分:1)

看起来像是ExecuteReaderAsync() uses the blocking implementation and wraps it in a TaskCompletionSource的Pomelo实现。