0

我一直在努力让 WCF 客户端通过 Web 代理工作。如果我手动指定代理,如下所示,我可以让 http 请求工作。

WebProxy proxy = new WebProxy("http://x.x.x.x:3128", false);
proxy.Credentials = new NetworkCredential("user", "pass");
WebRequest.DefaultWebProxy = proxy;

但是我设置了要使用的客户端服务代理ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = System.ServiceModel.Security.X509CertificateValidationMode.ChainTrust;

检查发出的数据包,客户端成功连接到服务器,但随后尝试验证服务提供的证书。此验证尝试失败,因为对链的请求没有 Proxy-Authorization 标头(它们因 407 错误而失败)。如何让这些请求正确使用指定的 DefaultWebProxy?

如果我将验证模式设置为“无”,那么当然一切正常,但我真的不想这样做。

4

1 回答 1

1

此设置仅影响消息级证书。对于传输级别,请尝试类似http://webservices20.blogspot.co.il/2008/12/wcf-gotcha-disabling-ssl-validation.html

于 2012-06-08T17:44:17.490 回答