如何在 C# (.NET 4.5) 中为 HttpClient.GetAsync(URI) 创建回调

本文关键字:HttpClient 中为 GetAsync URI 回调 创建 NET | 更新日期: 2023-09-27 17:56:54

我想创建一个简单的异步请求给谷歌搜索。

根据Google的说法,最简单的方法是将他们的JSON API与简单的curl请求一起使用

curl -e http://www.my-ajax-site.com ' 'https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=Paris%20Hilton'

我想提取结果的前 5 页并将每个结果的 URL 添加到数组中。我发现在HttpClient.GetAsync上很难找到任何解释清楚的教程。我没有比这更进一步

的了:
public String[] search(String term = "")
{
    var rq = new HttpClient();
    var uri = new Uri("https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=site:" + term);
    rq.GetAsync(uri);
}

我想这应该启动一个任务,这样我就不会阻塞主线程,但是如何在请求完成时注册回调方法?

如何在 C# (.NET 4.5) 中为 HttpClient.GetAsync(URI) 创建回调

由于 GetAsync 是您可以执行的任务

     rq.GetAsync(uri).ContinueWith((requestTask) => SomeMethod(requestTask););
HttpResponseMessage response = await rq.GetAsync(uri);
//put here your continuation logic.