настройка прокси веб-службы - PullRequest
5 голосов
/ 05 марта 2011

В c # 4.0 у меня есть веб-сервис под названием ManufacturerContactDetails. Я вызываю этот веб-сервис из приложения Windows, используя следующее:

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

Однако я бы хотел настроить веб-прокси-сервер, который использует мыльный клиент. Я искал свойство ws.Proxy, но его не существует. Я не хочу использовать один из Internet Explorer.

Как настроить использование веб-прокси-сервера?

Ответы [ 4 ]

9 голосов
/ 05 марта 2011

Если это клиент WCF, свойство Proxy отсутствует.Вы можете попробовать это вместо:

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");
}
9 голосов
/ 05 марта 2011

Создайте файл конфигурации приложения, содержащий следующие данные:

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

Подробнее здесь http://blogs.infosupport.com/blogs/porint/archive/2007/08/14/Configuring-a-proxy_2D00_server-for-WCF.aspx

Пока

7 голосов
/ 26 сентября 2011

Добавьте это в ваш app.config или web.config:

<system.net>
  <defaultProxy enabled="true">
    <proxy proxyaddress="http://111.222.333.444:80"/>
  </defaultProxy>
</system.net>
2 голосов
/ 05 марта 2011

Попробуйте добавить это в файл app.config.

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

Добавить прокси в тег прокси. Используйте прокси-тег по умолчанию в настройке system.net в app.config.

...