c# 异步请求demo
public static async Task<List<Syncchip>> DownSyncchipList(int id)
{
using (var client = new HttpClient())
{
try
{
string url = ApiServer.url+"/school/door/syncchip";
var content1 = new FormUrlEncodedContent(new Dictionary<string, string>()
{
//{"un","孙磊"},
{"school_id", id.ToString()}
});
HttpResponseMessage response = await client.PostAsync(url, content1);
response.EnsureSuccessStatusCode();//用来抛异常的
string responseBody = await response.Content.ReadAsStringAsync();
ReponseSyncchip resModel = JsonConvert.DeserializeObject<ReponseSyncchip>(responseBody);
if (resModel.status == "200")
{
//修改该数据的IsUnLineSent的值
try
{
List<Syncchip> syncchip = resModel.data;
return syncchip;
}
catch (Exception se)
{
//MessageBox.Show(se.ToString());
//logger.Error("修改数据库失败" + se.Message);
}
}
else
{
//MessageBox.Show("失败");
}
}
catch (Exception ex)
{
// MessageBox.Show("网路请求失败!");
return null;
}
}
return null;
}
Stopwatch watch = new Stopwatch();
watch.Start();
Func<Task<List<Student>>> func_student = new Func<Task<List<Student>>>(() => ApiServer.DownStudentList(chool_id));
student = await Task.Run(func_student);
watch.Stop();