今天做一个 功能是对有一定数据量的表查询。但在页脚还有很多的相关的效果。按顺序执行。用户体验相当差。故考虑用异步查询。就是在操作查询时候做其他线程事情。本来考虑多线程。但因是web程序。故放弃。
考虑到ado.net也有异步查询功能一直没操作过故做个demo尝试下看看性能。
static void Main(string[] args)
{
string constr = @"Data Source=***.***.***.***;uid=*****;pwd=****;database=****;Asynchronous Processing=true";
using (SqlConnection con=new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("waitfor delay '00:00:10' select top 50 * from TEshow", con))// 为了测试效果延时10秒
{
con.Open();
Console.WriteLine("sssssss");
IAsyncResult iay= cmd.BeginExecuteReader();
Console.WriteLine("bbbbbbb");
SqlDataReader dr = cmd.EndExecuteReader(iay);
while (dr.Read())
{
string msg = string.Format(" 第一个数是:{0},第二个数是:{1} ",dr[0].ToString(),dr[1].ToString());
Console.WriteLine(msg);
}
Console.ReadLine();
}
}
}
感觉还行。