有没有比下面的代码更快的方法将HTTP响应转换成字符串?
string req = "http://someaddress.com";
Stopwatch timer = new Stopwatch();
timer.Start();
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
using (Stream dataStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(dataStream);
reader.ReadToEnd();
}
}
timer.Stop();
Console.WriteLine(timer.Elapsed);
响应很大-大约2MB,格式为XML。完成此代码后,计时器等于约50秒。当我将相同的URL粘贴到浏览器窗口中时,需要约35秒才能显示xml文档。
Console.WriteLine()
写入XML需要50秒,还是你有其他操作?浏览器渲染XML为纯文本需要35秒,还是以某种方式格式化XML?我认为你在拿苹果和橙子做比较。 - Asbjørn Ulsbergreader.ReadToEnd()
方法中的时间可能会花费在将字节解码为字符串上。您还没有提供有关您在Web浏览器中测量的内容的任何信息。 - Asbjørn Ulsberg