如何在没有异步的情况下使用HttpClient

时间:2016-10-23 22:59:44

标签: c# asp.net asp.net-mvc webclient

您好我跟随this guide

static async Task<Product> GetProductAsync(string path)
{
    Product product = null;
    HttpResponseMessage response = await client.GetAsync(path);
    if (response.IsSuccessStatusCode)
    {
        product = await response.Content.ReadAsAsync<Product>();
    }
    return product;
}

我在我的代码中使用此示例,我想知道有没有HttpClient没有async/await的方法,我怎样才能获得只有响应字符串?

提前谢谢

2 个答案:

答案 0 :(得分:16)

  

有没有办法在没有async / await的情况下使用HttpClient,怎样才能获得只有响应的字符串?

HttpClient专为异步使用而设计。

如果要同步下载字符串,请使用WebClient.DownloadString

答案 1 :(得分:-3)

当然你可以:

public static string Method(string path)
{
   using (var client = new HttpClient())
   {
       var response = client.GetAsync(path).Result;
       if (response.IsSuccessStatusCode)
       {
            var responseContent = response.Content;
            return responseContent.ReadAsStringAsync().Result;
        }
    }
 }