Winform挂起async-await click事件

时间:2017-06-02 20:12:31

标签: c# asynchronous

我有以下Click事件从数据库加载 5000 记录,并分配到文本框中:

 private async void Button_Click(object sender, RoutedEventArgs e)
    {
        try
        {
            var studentsasync = _httpClient.GetStringAsync("http://localhost:5000/api/students");

            TxtStudents.Text = "Data is Loading...";

            var students = await studentsasync;
            TxtStudents.Text = students;
        }
        catch (Exception ex)
        {
            Console.WriteLine($"{ex.Message}");
        }     
}

然而,我观察到,当我单击按钮并且Form冻结,直到我从服务器获得响应并加载到文本框中。如果我尝试更改窗口的位置,则无法发生,但是当数据加载然后转到最后一次鼠标释放的位置时。

0 个答案:

没有答案