我想将我的基础仓库类变成异步的,但是我遇到了一些问题。我在我的C#应用程序中使用Dapper ORM。
基础方法
基础方法
protected async Task<List<T>> Read<T>(CommandDefinition cmd) {
using(SqlConnection myCon = new SqlConnection(Config.DBConnection)) {
await myCon.OpenAsync();
IEnumerable<T> results = await myCon.QueryAsync<T>(cmd);
List<T> retVal = results.ToList();
myCon.Close();
return retVal;
}
}
调用方法
public List<Category> GetAllActiveCategories(Guid siteGuid) {
return base.Read<Category>(SPNAME_GETALLACTIVE, siteGuid).Result;
}
我觉得一切都很顺利。我已经用async关键字装饰了方法声明。我正在等待异步方法。
我的问题在于,线程阻塞在await myCon.OpenAsync();
上。这是我第一次尝试使用async和await,所以我肯定做错了什么,但是不是很明显。请帮帮我!