Guarde a política derivada da configuração antes de a aplicação substituir WebRequest.DefaultWebProxy pela primeira vez:

System.Net.IWebProxy configuredPolicy =
    System.Net.WebRequest.DefaultWebProxy;

Restaure essa referência no limite controlado da aplicação:

System.Net.WebRequest.DefaultWebProxy = configuredPolicy;

Um IWebProxy pode escolher rotas e exceções diferentes para destinos diferentes. Resolver um URL de teste e construir um WebProxy fixo a partir da resposta perde essas decisões.

DefaultProxySection são dados de configuração, não uma interface pública de conversão para recriar a política efetiva da Framework. O seu código interno de conversão não é uma API da aplicação.

O valor guardado é uma referência ao objeto, não uma cópia profunda. Se a aplicação alterar as credenciais ou as definições desse objeto, reatribuir a referência não desfaz essas alterações.

Para um único pedido ou uma carga de trabalho separada, configure o respetivo cliente diretamente. Trocar temporariamente esta predefinição partilhada durante trabalho concorrente dá aos outros chamadores a mesma política mutável.

Artigos relacionados