web service proxy setting

梦想与她 提交于 2020-01-01 03:23:27

问题


In c# 4.0, I have a web service called ManufacturerContactDetails. I am calling that web service from a windows app using the following:

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

However, I would like to set the web proxy server that the soap client uses. I've had a look for a ws.Proxy property but it doesn't exist. I don't want to use the one from internet explorer.

How do I set the web proxy server to use?


回答1:


Create the app config file containing the following

<system.net>
    <defaultProxy useDefaultCredentials="true">
        <proxy usesystemdefault="True" bypassonlocal="True"/>
    </defaultProxy>
</system.net>

More info here http://blogs.infosupport.com/blogs/porint/archive/2007/08/14/Configuring-a-proxy_2D00_server-for-WCF.aspx

Bye




回答2:


If this is a WCF client there is no Proxy property. You could try this instead:

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

and then do the call:

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



回答3:


Add this to your app.config or web.config:

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



回答4:


Try adding this to app.config file.

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

Add proxy in the proxy tag. Use the default proxy tag in the system.net setting in the app.config.



来源:https://stackoverflow.com/questions/5205270/web-service-proxy-setting

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!