客户端无法使用我的webpart,因为他位于代理服务器后面,他们需要指定用户名和密码才能通过代理。我现在在配置文件中有这个:
<system.net>
<defaultProxy>
<proxy usesystemdefault="False" proxyaddress="http://127.0.0.1:8888" bypassonlocal="True" />
</defaultProxy>
</system.net>
有没有办法为这个代理设置提供用户名和密码?
答案 0 :(得分:12)
我不知道在web.config的defaultProxy部分执行此操作的方法,但您绝对可以通过代码执行此操作。试试这个:
// Get proxy server info from AppSettings section of Web.Config
var proxyServerAddress = ConfigurationManager.AppSettings[ "proxyServerAddress" ];
var proxyServerPort = ConfigurationManager.AppSettings[ "proxyServerPort" ];
// Get proxy with default credentials
WebProxy proxy =new WebProxy(proxyServerAddress, proxyServerPort);
proxy.Credentials = System.Net.CredentialCache.DefaultCredentials();
Web.Config(配置部分):
<appSettings>
<add key="proxyServerAddress" value="proxy.myhost.com" />
<add key="proxyServerPort" value="8080" />
</appSettings>
然后将proxy
分配给您在webPart中使用的webClient。
修改强>
如果我做了更多的功课,我会意识到你的问题可以用一个属性修复:useDefaultCredentials =“true”
<system.net>
<defaultProxy useDefaultCredentials="true">
<proxy usesystemdefault="False" proxyaddress="http://127.0.0.1:8888" bypassonlocal="True" />
</defaultProxy>
</system.net>