在C#中异步调用方法
C#中的异步编程是一种针对活动被阻止或访问被延迟的有效方法。如果活动在同步过程中被阻止,则整个应用程序将等待,并且将花费更多时间。应用程序停止响应。使用异步方法,应用程序还将继续执行其他任务。
带有GUI的应用程序检查队列的内容,如果队列中有未处理的任务,则将其取出并首先对其进行处理。代码同步执行,未处理的任务首先完成。如果处理花费的时间超出预期,则应用程序将显示停止响应消息。
让我们看看上面讨论的内容。
private void OnRequestDownload(object sender, RoutedEventArgs e) { var req = HttpWebRequest.Create(_requestedUri); var res = req.GetResponse(); }
要解决以上问题,请使用async和await关键字。
private async void OnRequestDownload(object sender, RoutedEventArgs e) { var req= HttpWebRequest.Create(_requestedUri); var res = await req.GetResponseAsync(); }