在 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();
}

更新日期: 2020 年 6 月 23 日

203 次浏览

开启你的 职业生涯

完成课程,获取认证

开始学习
广告