我在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