我正在调用位于www.webservice.com上的网络服务。 但是由于代理服务器,我无法打电话。
我在web.config中使用了以下代码,但它无效。
<defaultProxy>
<proxy proxyaddress="www.proxyserver.com" bypassonlocal="True" usesystemdefault="False" />
<bypasslist >
<add address="www.webservice.com" />
</bypasslist>
</defaultProxy>
我正在使用vs2005&amp; .Net 2.0
答案 0 :(得分:4)
请改用此配置。请记住它正在使用代理的默认凭据。我假设您已经在网络代理设置中配置了代理。
<defaultProxy useDefaultCredentials="true">
<proxy usesystemdefault="True"
proxyaddress="http://yourproxyAddress"
bypassonlocal="True" />
<bypasslist >
<add address="www.webservice.com" />
</bypasslist>
</defaultProxy>
仅当www.webservice.com是您的服务器可以访问的内容时,此方法才有效。
答案 1 :(得分:4)
您是否尝试过使用正则表达式作为旁路列表地址?我认为你的域中的点可能会导致问题,因为需要在正则表达式中转义点。
<configuration>
<system.net>
<defaultProxy>
<bypasslist>
<add address="[a-z]+\.contoso\.com$" />
<add address="192\.168\.\d{1,3}\.\d{1,3}" />
</bypasslist>
</defaultProxy>
</system.net>
</configuration>
Microsoft参考:http://msdn.microsoft.com/en-us/library/31465c77.aspx
如果WCF未使用defaultProxy设置,请尝试在代码或web.config中将WebDevice绑定的UseDefaultWebProxy设置为false
<basicHttpBinding>
<binding useDefaultWebProxy="False" />
</basicHttpBinding>