With the sample function below the program never returns from iDispose
WebResponse/StreamReader (TcpClient works fine):

public void GetStatusesFromStream(string username, string password,
int nMessageCount)
{
    WebRequest request = WebRequest.Create("http://stream.twitter.com/
1/statuses/sample.json");
    request.Credentials = new NetworkCredential(username, password);

    using (WebResponse response = request.GetResponse())
    {
        using (var stream = response.GetResponseStream())
        {
            using (var reader = new StreamReader(stream))
            {
                while (!reader.EndOfStream)
                {
                    Console.WriteLine(reader.ReadLine());

                    if (nMessageCount-- < 0)
                        break;
                }
                Console.WriteLine("Start iDispose");
            }
            Console.WriteLine("Never gets here!!!");
        }
    }

   Console.WriteLine("Done - press a key to exit");
   Console.ReadLine();
}


I've raised the question at stackoverflow but with no solution so
far...

http://stackoverflow.com/questions/1883022/why-does-webresponse-never-end-when-reading-twitter-firehose-stream

Reply via email to