gpt4 book ai didi

c# - 使用 C# 的异步 WebRequests

转载 作者:太空狗 更新时间:2023-10-29 20:50:53 24 4
gpt4 key购买 nike

您好,我有一个函数可以将 url Get 参数传递给网络服务器上的 php 文件并等待文件的响应(通常需要 10-20 秒)。我想把它放在一个循环中,因为我必须一次将这些 Get 请求发送到大约 5 个不同的 php 文件,但是当我尝试将它添加到一个循环中时,该函数使循环等待,直到文件返回响应,然后它才会去到下一个。

    public string HttpGet(string URI, string Parameters)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URI + Parameters);

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader resStream = new StreamReader(response.GetResponseStream());
return resStream.ReadToEnd().Trim();
}

private void SendCommand()
{
for( int i = 0; i <= 4; i++)
{
AddRTB(HttpGet(url, paramater));
}
}

有没有一种方法可以一次发送所有 5 个请求,而无需等待前一个请求完成? (我正在考虑对它进行线程处理,但可惜我以前从未接触过它,我不知道从哪里开始。)

最佳答案

您可以使用 BeginGetResponse() 而不是使用 GetResponse() 方法这是一个非阻塞调用。它需要一个回调,然后可以在它最终返回时处理 WebResponse 对象。链接中的示例将让您很好地了解如何让主线程等待所有响应返回。

关于c# - 使用 C# 的异步 WebRequests,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3799242/

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