我将通过代理向主机发送SOAP请求。我使用两种变体:手动代理设置和系统代理设置。有我的代码:
if (UseProxy.Equals("manual"))
{
WebProxy p = new WebProxy(pServer, true)
{
Credentials = new NetworkCredential(ProxyUser, ProxyPass)
};
WebRequest.DefaultWebProxy = p;
Request.Proxy = p;
Request.Timeout = 10000;
}
else if(UseProxy.Equals("system"))
{
IWebProxy proxy = WebRequest.GetSystemWebProxy();
proxy.Credentials = CredentialCache.DefaultCredentials;
Request.Proxy = proxy;
Request.Timeout = 10000;
}
手动设置运行良好,但系统代理设置根本不起作用。无论超时参数如何,我都无法发送任何内容并且程序会根据请求挂起。 我还尝试了以下内容:
WebProxy proxy = new WebProxy(ProxyHost, 8080);
proxy.UseDefaultCredentials = true;
Request.UseDefaultCredentials = true;
WebRequest.DefaultWebProxy = proxy;
Request.Proxy = proxy;
Request.Timeout = 10000;
它也不起作用。请解释一下我的错误在哪里?使用wsdl-file以自动方式生成具有SOAP请求的类。