我的操作系统是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版本显示直接访问。
我怀疑问题与代理配置有某种关系,但我不知道先在哪里查看。
任何有关将事情整理好的帮助都会让人感到沮丧......
答案 0 :(得分:0)
问题可能是您在Windows7计算机上进行TCP调整的结果。尝试以下操作,然后重新启动计算机。
单击“开始”按钮。
在“搜索”框中,键入“命令提示符”。命令提示符将显示在 搜索结果。
右键单击“命令提示符”图标,然后选择“以管理员身份运行”。
输入管理员凭据,您就可以开始了。
进入提升的命令提示符后:
键入以下所有命令,然后在每个命令后单击“输入”。
netsh int tcp set global autotuninglevel = disabled
netsh int tcp set global autotuninglevel = disabled
netsh interface tcp set global rss = disabled
netsh interface tcp set global autotuninglevel = disabled
netsh interface tcp set global congestionprovider = none
答案 1 :(得分:0)
仅供参考,
事实证明.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>
一个可行的解决方法是在配置文件中手动添加proxyadress
<system.net>
<defaultProxy>
<proxy usesystemdefault="false" proxyaddress="http://myproxy:myport" />
</defaultProxy>
</system.net>