我正在尝试调用网络服务。我需要使用使用 WPAD 脚本的代理。对于应用程序的不同部署,此 WPAD 脚本的 URL 是不同的。
尽管 IE 具有正确的代理设置,但应用程序作为 Windows 服务在本地系统帐户下运行,因此应用程序不知道该 Windows 用户的 IE 设置。
将以下内容放入 app.config 有效:
<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true" >
<proxy autoDetect="True" scriptLocation="http://url.to/wpad.dat"/>
</defaultProxy>
</system.net>
但这有一个限制,它不能由用户配置。有没有办法从(C#-)代码动态地执行上述操作?我还怀疑上述内容会改变不应通过代理的 Web 服务的行为(但我尚未验证)。
在http://msdn.microsoft.com/en-us/library/system.net.webproxy.aspx我找到了有用的文本:“(有关演示使用 WPAD 功能的示例,请参阅 IWebProxyScript 类的文档。 )" 但我还没有找到这个例子:(。