读书人

关于WebRequest的一个有关问题

发布时间: 2012-05-03 14:06:56 作者: rapoo

关于WebRequest的一个问题
一下2段代码的差别仅仅在一个调用了ReadToEnd()方式。

C# code
static void Main(string[] args)        {            while (true)            {                WebResponse webResponse = WebRequest.Create("******").GetResponse();                if (webResponse != null)                {                    StreamReader streamReader = new StreamReader(webResponse.GetResponseStream(), System.Text.Encoding.GetEncoding("GB2312"));                    streamReader.ReadToEnd();                }                Console.WriteLine(times++ + " " + Thread.CurrentThread.ManagedThreadId);            }            Console.ReadLine();        }

C# code
static void Main(string[] args)        {            while (true)            {                WebResponse webResponse = WebRequest.Create("******").GetResponse();                if (webResponse != null)                {                    StreamReader streamReader = new StreamReader(webResponse.GetResponseStream(), System.Text.Encoding.GetEncoding("GB2312"));                    //streamReader.ReadToEnd();                }                Console.WriteLine(times++ + " " + Thread.CurrentThread.ManagedThreadId);            }            Console.ReadLine();        }

但是结果完全不同。调用了ReadToEnd方法的程序不停的在请求指定网站,但是不调用ReadToEnd方法的程序请求2次就卡在.GetResponse()处了。请高手来解答。

[解决办法]
webResponse试试close或者dispose

读书人网 >C#

热点推荐