Adicionando um proxy da web para um cliente criado com netcfsvcutil com credenciais
-
20-09-2019 - |
Pergunta
Nós implementamos um serviço WCF para SYNC Framework Communication com a orientação de http://wcfguidanceformobile.codeplex.com/ . O cliente criado pelo netcfsvcutil.
Temos um problema quando o suporte ao proxy da Web é necessário. Como você pode habilitar credenciais com isso?
No HttpTransportBindingElement, podemos definir a proxyadress, mas como nosso Proyx exige o login, isso não o fará.
Ao tentar definir o UsoFaultWebProxy como True, ele ainda não usará credenciais. Ele se conecta ao proxy, mas recebe
Error 407: Proxy authentication required
Não consigo encontrar nenhuma informação sobre isso no SO ou no msdn. Alguém tem uma pista de onde procurar?
Solução
Na estrutura compacta, use o estático GlobalProxySelect.Select
Propriedade para definir o proxy global usado por todos os httpwebrequests, incluindo chamadas de serviço WCF.
GlobalProxySelect.Select = new WebProxy(...);
Para que isso funcione no WCF, as propriedades httptransportBindingingElement devem ser
- Proxyaddress = null (padrão)
- UsoFaultWebProxy = true (padrão)
A classe GlobalProxySelect está depreciada na estrutura completa, então você deve usar WebRequest.DefaultWebProxy
em vez de.