站立HTTP连接

时间:2015-09-18 10:14:18

标签: c# http 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();
        [...]
    }
    [...]
}

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码段:

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秒。