WCF服务的代理服务器身份验证

5 wcf proxy

我需要使用WCF服务,但我在代理服务器后面,这个代理服务器需要用户名和密码.

我找不到设置它的方法,如果是Web服务,我可以做类似的事情

ws.Proxy = myProxyServer;
Run Code Online (Sandbox Code Playgroud)

如何使用WCF服务执行此操作?

Edu*_*coz 7

在WCF绑定配置中,使用useDefaultWebProxy属性使WCF使用Windows默认代理(可以从IE网络配置设置):

<bindings>
<basicHttpBinding>
<binding name="ESBWSSL" ...everything...  useDefaultWebProxy="true">
Run Code Online (Sandbox Code Playgroud)

然后在代码中,在使用连接之前,执行以下操作:

WebProxy wproxy = new WebProxy("new proxy",true);
wproxy.Credentials = new NetworkCredential("user", "pass");
Run Code Online (Sandbox Code Playgroud)

在执行调用之前,使用webrequest对象:

WebRequest.DefaultWebProxy = wproxy;
Run Code Online (Sandbox Code Playgroud)

我没有测试过代码,但我相信这应该可行.

  • @John - 实际上 - 是的!我也很惊讶 - 但请查看此链接:http://blogs.msdn.com/stcheng/archive/2008/12/03/wcf-how-to-supply-dedicated-credentials-for-webproxy- authentication.aspx (3认同)
  • 谢谢你,谢谢你,谢谢你.还有比网络代理服务器更恶劣的东西吗?以上解决方案完美无缺 (3认同)