我一直在努力让 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?
如果我将验证模式设置为“无”,那么当然一切正常,但我真的不想这样做。