我需要使用WCF服务,但我在代理服务器后面,而这个代理服务器需要用户名和密码。
我找不到设置它的方法,如果是Web服务,我可以做类似的事情
ws.Proxy = myProxyServer;
如何使用WCF服务执行此操作?
答案 0 :(得分:7)
在WCF绑定配置中,使用useDefaultWebProxy属性使WCF使用Windows默认代理(可以从IE网络配置设置):
<bindings>
<basicHttpBinding>
<binding name="ESBWSSL" ...everything... useDefaultWebProxy="true">
然后在代码中,在使用连接之前,请执行以下操作:
WebProxy wproxy = new WebProxy("new proxy",true);
wproxy.Credentials = new NetworkCredential("user", "pass");
和您的webrequest对象,在执行调用之前:
WebRequest.DefaultWebProxy = wproxy;
我没有测试过代码,但我相信这应该可行。
答案 1 :(得分:0)
注意根据评论
替换了之前的答案实际上还有另一个stackoverflow答案,其中包括代理设置凭据。
Is it possible to specify proxy credentials in your web.config?