在我的代码(C#)中,我正在使用WebRequest:
var request = WebRequest.Create(url);
由于某种原因,这条线大约需要2-3秒才能运行。我找了一个解决方案,但找不到任何创建请求的方法。我尝试了不同的网址(http和https,谷歌等),但似乎没有任何帮助。有没有其他人经历过这样的行为?任何人都可以解释在创建请求期间究竟发生了什么?任何替代方案?
BTW - 我在64位Win 7(训练营)
编辑 - 使用秒表测量3.126秒以获取以下代码(无线):
var request = WebRequest.Create("http://www.google.com");
在同一个网络上,只有有线,需要0.01秒。
谢谢大家!
答案 0 :(得分:1)
Some people发现代理检测可能需要花费相当长的时间。如果您知道没有代理,请尝试将WebRequest的代理属性设置为null。
var request = WebRequest.Create("http://www.google.com");
request.Proxy = null;
我没有任何其他想法,但有些事情可能会尝试缩小问题范围。
通过在配置文件中添加以下代码来启用日志记录:
<configuration>
<system.diagnostics>
<trace autoflush="true" />
<switches>
<add name="System.Net" value="Verbose"/>
</switches>
</system.diagnostics>
</configuration>
查看ILSpy中的WebRequest.Create
或类似工具的源代码,并尝试直接执行相同的操作。例如,您可以尝试创建new HttpWebRequest(...)
而不是调用WebRequest.Create
,看看是否有相同的行为。