gpt4 book ai didi

C# 如何使这个 HttpRequest 异步?

转载 作者:行者123 更新时间:2023-12-05 08:19:04 26 4
gpt4 key购买 nike

我有这个代码:

HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(URL);
using (WebResponse myResponse = myRequest.GetResponse())
{
using (StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8))
{
result = sr.ReadToEnd();
}
}

我想完成这个请求,运行这段代码:

MessageBox.Show("Finish");

此外,当我运行这段代码时,我的程序会卡住。我认为这个问题可以通过异步 HttpWebRequest 解决。

最佳答案

你可以这样做(在 async 方法中):

HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(URL);
using (WebResponse myResponse = await myRequest.GetResponseAsync())
{
using (StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8))
{
result = sr.ReadToEnd();
}
}
MessageBox.Show("Finish");

但我建议使用 HttpClient

using (var client = new HttpClient())
{
var result = await client.GetStringAsync(URL);
}
MessageBox.Show("Finish");

顺便说一句:通过使用 GetStringAsync,您使用的编码可能不是 UTF8

关于C# 如何使这个 HttpRequest 异步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32530157/

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