【发布时间】:2015-05-14 21:53:48
【问题描述】:
所以我写了一个快速的async 方法来将一些数据从Oracle 数据库中获取到DataTable。我应该如何在不阻塞 UI 线程的情况下从 MainWindow() 调用它? async/wait 模型在那里没有多大意义。
async Task<DataTable> AccessOracleAsync()
{
DataTable dt;
using(OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["connStr"].ConnectionString))
using (OracleCommand cmd = new OracleCommand(@"SELECT * FROM myTbl", conn))
{
await conn.OpenAsync();
using (var reader = await cmd.ExecuteReaderAsync())
{
dt = new DataTable();
dt.Load(reader);
}
}
return dt;
}
【问题讨论】:
标签: c# wpf xaml async-await