最近在做文章采集系统时用到了WebClient,在本地测试好好的,可是上传到服务器上老报错。最后经过步步检查,发现问题出在无法加载 DLL“rasapi32.dll”,刚开始还以为是服务器的权限问题了,可是最后发现不是,解决该问题的办法其实很简单,只需要在web.config文件中加入如下的代码就ok了
<system.net>
<defaultProxy>
<proxy usesystemdefault="False" />
</defaultProxy>
</system.net>
原因何在?那我们就要来学学web.config文件中的<default proxy> 的知识了。
web.config文件中的<default proxy> 这个元素指定了HTTP请求Internet资源时使用的代理服务器.
<defaultProxy>元素定义了被GlobalProxySelection类使用的代理服务器信息. 任何没有制定代理属性的HttpRequest都会使用由defaultProxy定义的代理.
总的来说, 标准桌面应用程序中, .NET运行时会使用由Microsoft Internet Explorer中的代理服务器配置. 如果你访问你的web service存在的站点, 那么你就能够不修改任何配置地用.NET运行时来进行访问, 因为你的配置是从你的user profile中获取的.
.NET运行时并不支持自动探测代理的服务的脚本. 如果IE浏览器使用自动配置这个选项来确定HTTP代理配置, 你就能够手动地在web.config文件中, 配置全局的HTTP代理配置. 同样地, 当你在没有加载user profile的情况下, 使用.NET运行时来访问一个XML web service(比如说, 你从一个ASP.NET页面调用web service), 你就必须在web.config中进行配置.