gpt4 book ai didi

c# - 常设 HTTP 连接

转载 作者:可可西里 更新时间:2023-11-01 16:41:45 26 4
gpt4 key购买 nike

我想做什么

我正在尝试打开与使用 Atmosphere 框架的流式网络服务的连接。我需要能够打开连接并等待服务发送事件,但我真的不知道该怎么做。

最重要的是保持连接打开。

到目前为止我的代码

public void LiveStream()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.somewhere.com");

[...]

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (Stream responseStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
String json = reader.ReadToEnd();
[...]
}
[...]
}

最佳答案

您可以使用以下代码段:

public async void LiveStream()
{
using(var client = new HttpClient())
{
client.Timeout = new TimeSpan(SET DESIRED TIMEOUT);
string response = client.GetStringAsync("http://api.sample.com");
}
}

或使用 HttpResponse

public async void LiveStream()
{
using(var client = new HttpClient())
{
client.Timeout = new TimeSpan(SET DESIRED TIMEOUT);
var response = client.GetAsync("http://api.sample.com");
if(repsone.IsSuccessStatusCode)
{
string contentJson = response.Content.ReadAsStringAsync();
}
}
}

记住:默认 TimeOut是 100 秒。

关于c# - 常设 HTTP 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32649480/

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