禁用整个应用程序的代理?

时间:2010-04-17 03:22:13

标签: vb.net web-services visual-studio-2010 proxy

自从升级到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文件中添加一些代理信息,但如果我对该文件进行了编辑,则会出现构建程序的错误。

有人能指出我正确的方向吗?

2 个答案:

答案 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。