我已经做了一些测试向http://www.google.com
发送请求随着小提琴手的运行,每个请求的平均响应时间为0.02秒
如果没有fiddler运行,平均响应时间为0.9s pre request。
巨大的差异。
var watch = Stopwatch.StartNew();
var wrGeturl = (HttpWebRequest)WebRequest.Create(new Uri("http://www.google.com"));
wrGeturl.KeepAlive = true;
wrGeturl.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate,sdch");
wrGeturl.Headers.Add(HttpRequestHeader.AcceptCharset, "ISO-8859-1,utf-8;q=0.7,*;q=0.3");
wrGeturl.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
wrGeturl.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
using (var reqStream = wrGeturl.GetResponse().GetResponseStream())
{
if (reqStream != null)
{
var webPage = new StreamReader(reqStream).ReadToEnd();
}
}
Console.WriteLine("Time: " + watch.Elapsed.TotalSeconds);
它是一个非常基本的代码,背后没有任何逻辑,所以我不明白。
我查看了其他帖子,看到我必须将KeepAlive属性设置为TRUE,我已经完成了,但没有任何变化。
知道这个奇怪的问题会是什么?