0

在我的代码(C#)中,我使用的是 WebRequest:

var request = WebRequest.Create(url);

由于某种原因,这条线大约需要 2-3 秒才能运行。我一直在寻找解决方案,但找不到任何用于创建请求的解决方案。我尝试了不同的网址(http 和 https、google 等),但似乎没有任何帮助。有没有其他人经历过这样的行为?谁能解释在创建请求期间到底发生了什么?有什么选择吗?

顺便说一句 - 我使用的是 64 位 Win 7(训练营)

编辑 - 使用秒表测量以下代码(无线)的 3.126 秒:

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

在同一个网络上,仅有线,耗时 0.01 秒。

感谢大家!

4

1 回答 1

1

有些 发现代理检测可能需要非常长的时间。如果您知道不会有代理,请尝试将 WebRequest 的代理属性设置为 null。

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

更新

我没有任何其他想法,但这里有一些你可以尝试缩小问题范围的事情。

  1. 通过将以下代码放入配置文件中来启用日志记录:

    <configuration>
      <system.diagnostics>
        <trace autoflush="true" />
        <switches>
          <add name="System.Net" value="Verbose"/>
        </switches>
      </system.diagnostics>
    </configuration>
    
  2. 查看WebRequest.CreateILSpy 或类似工具的源代码,并尝试直接执行相同的操作。例如,您可以尝试创建一个new HttpWebRequest(...)而不是调用WebRequest.Create,看看您是否得到相同的行为。

于 2012-10-25T23:14:45.847 回答