2011-03-05 126 views
5

在c#4.0中,我有一个名为ManufacturerContactDetails的Web服务。我使用以下调用从Windows应用程序,Web服务:Web服务代理设置

var ws = new ManufacturerContactDetailsWebServiceSoapClient(); 
ContactDetails cd = ws.GetContactDetails("Google"); 

不过,我想设置的SOAP客户端使用Web代理服务器。我查看了ws.Proxy属性,但它不存在。我不想使用Internet Explorer中的那个。

如何设置Web代理服务器使用?

+0

不'ManufacturerContactDetailsWebServiceSoapClient'从派生什么类型的? – 2011-03-05 17:07:01

回答

1

尝试将此添加到app.config文件。

<system.net> 
    <defaultProxy enabled="false" useDefaultCredentials="false"> 
     <proxy/> 
    </defaultProxy> 
</system.net> 

在代理标签中添加代理。 使用app.config中system.net设置中的默认代理标记。

7

如果这是WCF客户端,则不存在代理属性。你可以代替试试这个:

var proxy = new WebProxy("proxy.foo.com", true); 
proxy.Credentials = new NetworkCredential("user", "pass"); 
WebRequest.DefaultWebProxy = proxy; 

,然后做呼叫:

using (var ws = new ManufacturerContactDetailsWebServiceSoapClient()) 
{ 
    var cd = ws.GetContactDetails("Google"); 
} 
6

添加到您的app.config或web.config中:

<system.net> 
    <defaultProxy enabled="true"> 
    <proxy proxyaddress="http://111.222.333.444:80"/> 
    </defaultProxy> 
</system.net>