gpt4 book ai didi

c# - 使用 HttpResponseMessage.EnsureSuccessStatusCode()

转载 作者:太空宇宙 更新时间:2023-11-03 13:03:20 28 4
gpt4 key购买 nike

getData1Async()getData2Async() 这两个方法本质上是一样的吗?如果是这样,为什么我不需要 getData2Async() 方法中的 EnsureSuccessStatusCode()

class Program
{
static void Main(string[] args)
{
try
{
string uri = "https://www.blahblah.com/getdata";
Task<string> x = getData1Async(uri);
System.Diagnostics.Debug.WriteLine(x.Result);
Task<string> y = getData2Async(uri);
System.Diagnostics.Debug.WriteLine(y.Result);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}

static async Task<string> getData1Async(string uri)
{
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync(uri);
response.EnsureSuccessStatusCode();
return await response.Content.ReadAsStringAsync();
}

static async Task<string> getData2Async(string uri)
{
var httpClient = new HttpClient();
return await httpClient.GetStringAsync(uri);
}
}

最佳答案

getData1Async - 此处您获取 HttpResponseMessage 类型的对象,如果您不确保响应已成功完成并调用 response.Content.Read...,则答案将不确定。getData2Async - 直接调用 httpClient 本身来获取字符串,该字符串在内部确保它仅在收到数据时返回。

关于c# - 使用 HttpResponseMessage.EnsureSuccessStatusCode(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31668893/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com