gpt4 book ai didi

c# - 使用 Httpclient 进行长轮询

转载 作者:行者123 更新时间:2023-11-30 17:35:11 25 4
gpt4 key购买 nike

我正在使用 .Net HttpClient 使用一个 REST API (GET)。我想用 long polling 调用这个 API .

我有几个问题:

  1. 使用长轮询检索数据的最佳方法是什么?
  2. 这是我的用例 - 我的应用程序将通过长轮询使用此 api,并根据结果在不同的线程上执行一些操作。基于长轮询获取的新响应,我将中止/完成旧线程并再次开始对新线程的操作。如何使用 Tasks 实现这一目标?

最佳答案

对于我找到的第一个问题 this解决方案,效果很好:

var url = "http://your.url";
using (var client = new HttpClient())
{
client.Timeout = TimeSpan.FromMilliseconds(Timeout.Infinite);
var request = new HttpRequestMessage(HttpMethod.Get, url);
using (var response = await client.SendAsync(
request,
HttpCompletionOption.ResponseHeadersRead))
{
using (var body = await response.Content.ReadAsStreamAsync())
using (var reader = new StreamReader(body))
while (!reader.EndOfStream)
Console.WriteLine(reader.ReadLine());
}
}

关于c# - 使用 Httpclient 进行长轮询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41406708/

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