下面的代碼是否有更快的替代方法來將http響應轉換爲字符串?HttpWebRequest/HttpWebResponse的速度
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秒,還是你用它做了什麼?瀏覽器使用35秒將XML呈現爲純文本還是以任何方式格式化XML?我認爲你正在比較蘋果和橘子。 –
我修改了一下 - 希望現在好一點。 – stiopa
正如Jon Skeet所寫,時間可能會花費在解碼字節到'reader.ReadToEnd()'方法的字符串中。您還沒有提供任何關於您在網絡瀏覽器中測量的信息。 –