自从升级到Visual Studio 2010以来,我遇到了一个问题,即任何类型的第一个Web请求(WebRequest,WebClient等)在完成之前会挂起大约20秒。后续调用工作很快。我已将问题缩小到代理问题。
如果我手动禁用代理设置,我不会遇到此延迟:
Dim wrq As WebRequest = WebRequest.Create(Url)
wrq.Proxy = Nothing
奇怪的是,在Internet选项中,此计算机上未启用代理设置。我想知道的是,如果有一种方法可以一次性禁用整个项目的代理设置,而不会像上面那样为每个Web对象明确禁用。
我希望能够做到这一点的主要原因是我正在尝试使用使用Web请求的API(http://code.google.com/p/google-api-for-dotnet/),但没有提供任何方法来手动禁用代理设置。
我发现一些信息表明我需要在app.config文件中添加一些代理信息,但如果我对该文件进行了编辑,则会出现构建程序的错误。
有人能指出我正确的方向吗?
答案 0 :(得分:5)
布伦特 - 这是正确的解决方案:在应用程序的配置文件中添加defaultProxy element。
所以对于一个网站来说,它是web.config。对于.exe应用程序,它是.config。
这些设置也是正确的: -
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.net>
<defaultProxy enabled="false" useDefaultCredentials="false">
<proxy/>
<bypasslist/>
<module/>
</defaultProxy>
</system.net>
</configuration>
答案 1 :(得分:1)
您可以尝试使用旁路列表为您遇到问题的服务器关闭代理设置,而不是完全关闭代理设置。
有关详细信息和示例,请参阅http://msdn.microsoft.com/en-us/library/kd3cf2ex.aspx。
如果你在更改app.config时遇到问题,我建议发布错误,也可能发布app.config。