Warum funktioniert HttpClient BaseAddress nicht?

Betrachten Sie den folgenden code, wo die BaseAddress definiert eine partielle URI-Pfad.

using (var handler = new HttpClientHandler())
using (var client = new HttpClient(handler))
{
    client.BaseAddress = new Uri("http://something.com/api");
    var response = await client.GetAsync("/resource/7");
}

Ich erwarte, dass dieses zum ausführen einer GET Anfrage http://something.com/api/resource/7. Aber es funktioniert nicht.

Nach etwas Suche, finde ich diese Frage und Antwort: HttpClient mit BaseAddress. Der Vorschlag ist auf Platz / auf das Ende der BaseAddress.

using (var handler = new HttpClientHandler())
using (var client = new HttpClient(handler))
{
    client.BaseAddress = new Uri("http://something.com/api/");
    var response = await client.GetAsync("/resource/7");
}

Es funktioniert immer noch nicht. Hier ist die Dokumentation: HttpClient.BaseAddress Was ist denn hier Los?

Kommentar zu dem Problem
Mögliche Duplikate von HttpClient mit BaseAddress Kommentarautor: George Lanetz
@ГеоргийЛанец Der Rückseite duplizieren bereits vorgeschlagen. Ich schrieb diese Frage, gerade weil, die andere Frage war nicht auf eine Weise geschrieben, die war sehr sichtbar, indem Menschen mit dem gleichen problem, und ich schrieb die Antwort hier, weil die Antwort dort aufgehört hat, ein wichtiger Punkt. Kommentarautor: Timothy Shields
@ГеоргийЛанец das ist nicht, wie es funktioniert. In der Regel die "kanonischen" Frage ist, bekommt Sie die Duplikate, Sie verweisen. Dass die andere Frage war die, über ein problem, dass Benutzer war zu Lesen, anstatt wie ein FAQ. Kommentarautor: Timothy Shields
@ГеоргийЛанец Auch bemerken, dass ich-Referenz, die andere Frage, in dieser Frage, und ich erkläre, warum die andere Frage-und Antwort-sind unzureichend für die Lösung des Problems. Kommentarautor: Timothy Shields
Vielen Dank, Timothy. Kommentarautor: George Lanetz

InformationsquelleAutor der Frage Timothy Shields | 2014-05-02

Schreibe einen Kommentar