Proxy 通过企业环境上的VPN访问网页时出现问题

Proxy 通过企业环境上的VPN访问网页时出现问题,proxy,64-bit,webclient,vpn,.net-1.1,Proxy,64 Bit,Webclient,Vpn,.net 1.1,我的操作系统是windows7 64位。 我在一个公司环境中。为了连接互联网,我将IE配置为使用自动配置代理脚本。 此外,我还连接到外部公司拨号VPN(通过互联网)。当连接到VPN时,我看到我的主机文件被修改,路由打印也被更改。VPN拨号连接使用另一个代理自动配置脚本(在拨号和VPN设置下)。 我能够看到两个自动配置脚本的内容以及路由打印信息 我有一个.Net1.1 winforms应用程序,它使用WebClient从web服务器下载xml文件 连接到VPN时: winforms应用程序无法下载

我的操作系统是windows7 64位。 我在一个公司环境中。为了连接互联网,我将IE配置为使用自动配置代理脚本。 此外,我还连接到外部公司拨号VPN(通过互联网)。当连接到VPN时,我看到我的主机文件被修改,路由打印也被更改。VPN拨号连接使用另一个代理自动配置脚本(在拨号和VPN设置下)。 我能够看到两个自动配置脚本的内容以及路由打印信息

我有一个.Net1.1 winforms应用程序,它使用WebClient从web服务器下载xml文件

连接到VPN时: winforms应用程序无法下载文件(“无法访问服务器”错误)。 如果我在IE中浏览到相同的URL,我就可以下载该文件。 此外,当我启动Fiddler检查http会话时,winforms应用程序能够下载xml文件。 运行netsh->proxy,system32和SysWow64版本显示直接访问

我怀疑这个问题在某种程度上与代理配置有关,但我不知道首先要看哪里


任何有助于理顺事情的人都会非常感激

该问题可能是windows7计算机上TCP调优的结果。请尝试以下操作,然后重新启动计算机

  • 点击开始按钮

  • 在搜索框中,键入命令提示符。命令提示符将显示在 搜索结果

  • 右键单击命令提示符图标并选择以管理员身份运行

  • 输入管理员凭据,您就可以开始了

  • 到达提升的命令提示符后:

    键入下面的所有命令,并在每个命令后单击enter

    netsh int tcp set全局自动调整级别=已禁用

    netsh int tcp set全局自动调整级别=已禁用

    netsh接口tcp设置全局rss=已禁用

    netsh接口tcp设置全局自动调整级别=已禁用

    netsh接口tcp设置全局拥塞提供程序=none

    仅供参考

    事实证明,.net framework 1.1 WebClient不理解其默认设置中的自动代理配置:

      <system.net>
        <defaultProxy>
          <!-- 
                    The following entry enables reading of the per user (LAN) Internet settings.
                    Adding additional proxy settings, without first setting to "false",
                    will individually override. Note that "Automatic configuration" and 
                    "automatic configuration scripts" cannot be read.
    
                    <proxy> settings:
                        usesystemdefault="[true|false]" - Read settings from Internet Options (see above)
                        proxyaddress="[string]" - A Uri string of the proxy server to use.
                        bypassonlocal="[true|false]" - Enables bypassing of the proxy for local resources.
                 -->
          <proxy usesystemdefault="true" />
        </defaultProxy>
      </system.net>
    
    
    
    一种可行的解决方法是在配置文件中手动添加ProxyAddress

      <system.net>
        <defaultProxy>
          <proxy usesystemdefault="false" proxyaddress="http://myproxy:myport"  />
        </defaultProxy>
      </system.net>