gpt4 book ai didi

c# - 在处理 HttpClient 之前,我是否需要等待异步方法完成?

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

我想知道这段代码是否按预期工作(向网络应用程序发送一个字符串):

using (HttpClient httpClient = Util.CreateHttpClient())
{
httpClient.PostAsJsonAsync("theurl", somestr);
}

由于 PostAsJsonAsync 不会立即完成执行,并且在退出 block 时会处理掉 httpClient,请求是否始终正确发送?

还是我必须等待这样的任务:

using (HttpClient httpClient = Util.CreateHttpClient())
{
httpClient.PostAsJsonAsync("theurl", somestr).Wait();
}

最佳答案

在使用HttpClient的异步API时,推荐你使用await这些方法:

using (HttpClient httpClient = Util.CreateHttpClient())
{
await httpClient.PostAsJsonAsync("theurl", somestr);
}

这样,您可以确保异步方法的完成,并确保 HttpClient 在发送请求之前不会被释放。

如果您需要同步 API,请考虑查看 WebClient

关于c# - 在处理 HttpClient 之前,我是否需要等待异步方法完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26500305/

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