WebRequest.DefaultWebProxy.Credentials 为空,如果我在代理后面,WCF 服务调用将失败



我在ISA服务器代理后面,我需要调用web服务。给定其wsdl,我已经创建了代理(使用添加服务引用命令)并尝试调用该服务,但它引发了一个异常,告诉我需要代理授权。经过一番研究,我找到了解决问题的办法

            var webproxy = new WebProxy(new Uri("http://<address>:<port>").ToString(), true, new string[]
            {
            })
            {
                Credentials = networkCredentials,
                BypassProxyOnLocal = false
            };
        WebRequest.DefaultWebProxy = webproxy;
在这段代码之后,我可以调用web服务。但是正如我在这里读到的默认情况下,DefaultWebProxy使用与IE中设置相同的设置。然而,WebRequest.DefaultWebProxy.Credentials是空的,我无法通过代理。为什么?

我也是一样。这篇文章的最后一个答案帮助了我。

我如何确定(优雅)如果代理身份验证是需要在c# winforms应用程序

。//HACK:添加代理IWebProxy proxy = WebRequest.GetSystemWebProxy();代理。System.Net.CredentialCache.DefaultCredentials;要求的事情。代理=代理;要求的事情。PreAuthenticate = true;//add proxy

最新更新