Как я могу установить прокси HTTP программно, на клиенте WCF, без использования прокси по умолчанию?
Прокси, прокси, прокси.
В соответствии с моделью разработки WCF, я генерирую «прокси» на стороне клиента
классы, запустив svcutil.exe в WSDL для службы. (Это также
создает файл конфигурации на стороне клиента).
В своем коде я обновляю экземпляр этого класса и могу подключиться к
оказание услуг. Очень мило.
var svcProxy = new MyWebService();
svcProxy.GetInformation(request);
Мы называем эту вещь прокси-классом, но есть другой прокси - http-прокси. это
служба использует wsHttpBinding basicHttpBinding, поэтому она переходит
HTTP. Теперь предположим, что я хочу подключить клиент к веб-сервису через
http-прокси (смоделированный System.Net.WebProxy в .NET BCL). я знаю
из моего обширного, восхитительного опыта чтения документации .NET и WCF, что
среда выполнения WCF, если не указано иное, будет использовать значение по умолчанию
системный прокси при общении через http / https.
Я могу установить это из командной строки в
WinXP / 2003 с ProxyCfg.exe, как описано здесь и позже
версии Windows с netsh.exe, как описано здесь .
Я также могу указать веб-прокси по умолчанию для использования в приложении
установив System.Net.WebRequest.DefaultWebProxy свойство .
Но предположим, что я хочу подключиться через прокси, который отличается от
общесистемный прокси? Например, возможно, нет общесистемного прокси, но
Мне нужно использовать один для веб-службы, в частности. Или, может быть, есть
общесистемный прокси, но мне нужно использовать другой, для Интернета
оказание услуг. И на самом деле, может быть, есть несколько клиентов веб-службы, и
у каждого должен быть свой прокси.
Как настроить прокси для привязки?
В модели ASMX я мог бы сделать это:
var svcProxy = new MyWebService();
svcProxy.Proxy = new System.Net.WebProxy("http://proxyserver:1234", true);
svcProxy.GetInformation(request);
Но это невозможно с WCF; сгенерированный WCF клиентский прокси
классы не предоставляют свойство Proxy. Как настроить прокси-сервер http для каждого клиентского прокси-сервера и как настроить аутентификацию на прокси-сервере http?
Связанный:
- как установить прокси с учетными данными для сгенерированного wcf-клиента