性能命中"自动检测设置"对于第一个请求

时间:2012-08-07 15:42:27

标签: .net proxy httpwebrequest

我有以下C#代码:

for (var i = 0; i < 10; i++)
{
    var stopwatch = Stopwatch.StartNew();

    var request = (HttpWebRequest)WebRequest.Create("http://www.google.com/");

    var response = request.GetResponse();

    response.Close();

    Console.WriteLine(stopwatch.Elapsed.TotalMilliseconds);
}

如果我检查IE(系统)代理设置上的自动检测设置复选框,我会收到此输出:

12164,0891
265,8832
248,4743
235,4291
239,6717
234,2011
236,3179
287,2781
239,5829
248,0245

如果我取消选中,我会得到这些结果

991,2215
269,6613
241,1335
241,2875
234,1904
227,1039
226,7818
224,4154
227,6287
224,3641

正如您所看到的,当我启用自动代理检测时,对第一个请求会产生巨大影响。我试图实现以下文章中解释的解决方法,但无济于事:

http://blogs.msdn.com/b/danielvl/archive/2009/03/23/faster-proxy-detection-for-httpwebrequest.aspx

有没有办法在第一次请求时最小化(或更好地摆脱)这种影响?禁用自动检测设置不是一个选项,因为我们应该尊重用户的代理设置。

0 个答案:

没有答案