【发布时间】:2011-01-04 03:21:29
【问题描述】:
我对 .Net HttpWebRequest 客户端(或 WebClient,给出类似结果)的性能有疑问。
如果我使用 HttpWebRequest 请求一个 html 页面(在本例中为 news.bbc.co.uk)并分析应用程序读取响应的速度(使用 HttpAnalyzer),这比浏览器( Firefox、Chrome、IE)请求相同的资源(清除所有缓存等)。 .Net 应用程序大约需要 1.7 秒,而浏览器需要 0.2 - 0.3 秒。
这完全取决于代码/应用程序的速度和效率,还是还有其他因素需要考虑?
代码如下:
HttpWebRequest request = null;
Uri uriTest = new Uri("http://news.bbc.co.uk");
request = (HttpWebRequest)WebRequest.Create(uriTest);
request.Method = "GET";
request.KeepAlive = true;
request.Headers["Accept-Encoding"] = "gzip, deflate";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
response.Close();
【问题讨论】:
-
使用IP地址代替URL,让你看看DNS服务器是否是延迟的来源。
-
对不起,我应该提到,已经尝试过(将上面的“news.bbc.co.uk”替换为“212.58.226.77”)没有区别。
标签: c# .net httpwebrequest performance