3

我有以下一段 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

有什么方法可以最小化(或更好地消除)对第一次请求的影响?禁用自动检测设置不是一个选项,因为我们应该尊重用户的代理设置。

4

0 回答 0