C#程序在HTTP请求后停止

时间:2012-06-16 16:33:42

标签: c# webclient httprequest

我的代码在这里可以很好地获取内容长度,并告诉我文件有多大,然后它在if语句上工作。由于某种原因,在if语句之后,如果MB小于5,它将不会下载文件,它只是停止程序。就像在HTTP请求之后,它就会停止。所以我不知道这是我的代码错误,还是别的,如果这是一个愚蠢的问题,我很抱歉。

            byte[] test;
            int size;
            long MB = 0;
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(Path);
            req.Method = "HEAD";
            HttpWebResponse resp = (HttpWebResponse)(req.GetResponse());
            long len = resp.ContentLength;
            MB = len / 1048576;

            if (MB > 5)
            {
                Console.WriteLine("File to big!");
            }
            else
            {
                var webClient = new WebClient();
                MemoryStream ms = new MemoryStream();
                byte[] imageBytes = webClient.DownloadData(Path);
                test = imageBytes;
                size = test.Length;
            }

2 个答案:

答案 0 :(得分:1)

只是猜测,但在尝试打开另一个连接之前调用resp.Close();会有帮助吗?

答案 1 :(得分:0)

在继续Dispose()之前,在HttpWebResponse上致电WebClient

它应该有用。