Utilisation d'un proxy avec .NET 4.5 HttpClient

Je suis dépannage d'un bug avec un service que j'appel à l'aide d' .NET HttpClient, en essayant de route de la demande par le biais d'un proxy local (Violoniste), mais mes paramètres de proxy semblent pas prendre effet.

Voici comment j'ai créer le client:

private HttpClient CreateHttpClient(CommandContext ctx, string sid) {
    var cookies = new CookieContainer();

    var handler = new HttpClientHandler {
        CookieContainer = cookies,
        UseCookies = true,
        UseDefaultCredentials = false,
        Proxy = new WebProxy("http://localhost:8888", false, new string[]{}),
        UseProxy = true,
    };

    //snip out some irrelevant setting of authentication cookies

    var client = new HttpClient(handler) {
        BaseAddress = _prefServerBaseUrl,
    };

    client.DefaultRequestHeaders.Accept.Add(
        new MediaTypeWithQualityHeaderValue("application/json"));

    return client;
}

puis-je envoyer la demande par:

var response = CreateHttpClient(ctx, sid).PostAsJsonAsync("api/prefs/", smp).Result;

Demande va directement sur le serveur sans tenter de frapper le proxy. Qu'ai-je manqué?

  • Votre service est en cours de test en local sur votre machine? Envisager de contournement de proxy pour les adresses locales.
  • Par la voie, création de HttpClient cas, c'est cher. Vous devez réutiliser les instances dès que possible. Il y a quelques posts de blog qui parlent de cette accessible à l'aide de Google.
InformationsquelleAutor Mike Ruhlin | 2013-05-13