Als «dotnet-httpclient» getaggte Fragen

Verweist auf die System.Net.Http.HttpClient-Bibliothek, die Teil des HttpClient-Pakets in NuGet ist, oder auf die .NET 4.5-Bibliothek.

12
Müssen HttpClient und HttpClientHandler zwischen Anforderungen angeordnet werden?
System.Net.Http.HttpClient und System.Net.Http.HttpClientHandler in .NET Framework 4.5 implementieren IDisposable (über System.Net.Http.HttpMessageInvoker ). In der usingAnweisungsdokumentation heißt es: Wenn Sie ein IDisposable-Objekt verwenden, sollten Sie es in der Regel in einer using-Anweisung deklarieren und instanziieren. Diese Antwort verwendet dieses Muster: var baseAddress = new Uri("http://example.com"); var cookieContainer = new CookieContainer(); using …


4
Warum funktioniert HttpClient BaseAddress nicht?
Betrachten Sie den folgenden Code, in dem BaseAddressder einen partiellen URI-Pfad definiert. 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 dies eine GETAnfrage an http://something.com/api/resource/7. Aber das tut es nicht. Nach einigem …

2
Wie richte ich HttpContent für meinen zweiten HttpClient PostAsync-Parameter ein?
public static async Task<string> GetData(string url, string data) { UriBuilder fullUri = new UriBuilder(url); if (!string.IsNullOrEmpty(data)) fullUri.Query = data; HttpClient client = new HttpClient(); HttpResponseMessage response = await client.PostAsync(new Uri(url), /*expects HttpContent*/); response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); response.EnsureSuccessStatusCode(); string responseBody = await response.Content.ReadAsStringAsync(); return responseBody; } Das PostAsyncnimmt einen anderen Parameter, …

10
HttpClient unterstützt die PostAsJsonAsync-Methode C # nicht
Ich versuche, eine Web-API aus meiner Webanwendung aufzurufen. Ich verwende .Net 4.5 und beim Schreiben des Codes erhalte ich den Fehler, HttpClientder keine Definitionsmethode enthält PostAsJsonAsync. Unten ist der Code: HttpClient client = new HttpClient(); client.BaseAddress = new Uri("http://localhost:51093/"); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); var user = new Users(); user.AgentCode = 100; …

7
Entscheidung zwischen HttpClient und WebClient
Unsere Web-App läuft in .Net Framework 4.0. Die Benutzeroberfläche ruft Controller-Methoden über Ajax-Aufrufe auf. Wir müssen den REST-Service unseres Anbieters in Anspruch nehmen. Ich prüfe, wie der REST-Service in .Net 4.0 am besten aufgerufen werden kann. Der REST-Service erfordert ein Standardauthentifizierungsschema und kann Daten sowohl in XML als auch in …

6
HttpClient - Eine Aufgabe wurde abgebrochen?
Es funktioniert einwandfrei, wenn eine oder zwei Aufgaben vorhanden sind. Es wird jedoch der Fehler "Eine Aufgabe wurde abgebrochen" ausgegeben, wenn mehr als eine Aufgabe aufgelistet ist. List<Task> allTasks = new List<Task>(); allTasks.Add(....); allTasks.Add(....); Task.WaitAll(allTasks.ToArray(), configuration.CancellationToken); private static Task<T> HttpClientSendAsync<T>(string url, object data, HttpMethod method, string contentType, CancellationToken token) { …


5
.NET HttpClient. Wie POST String Wert?
Wie kann ich mit C # und HttpClient die folgende POST-Anfrage erstellen: Ich benötige eine solche Anfrage für meinen WEB-API-Service: [ActionName("exist")] [HttpPost] public bool CheckIfUserExist([FromBody] string login) { return _membershipProvider.CheckIfExist(login); }

7
Was ist der Aufwand für das Erstellen eines neuen HttpClient pro Aufruf in einem WebAPI-Client?
Was soll das sein HttpClient Lebensdauer eines WebAPI-Clients sein? Ist es besser, eine Instanz von HttpClientfür mehrere Anrufe zu haben? Was ist der Aufwand für das Erstellen und Entsorgen einer HttpClientAnfrage, wie im folgenden Beispiel (entnommen aus http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from-) ? a-net-client ): using (var client = new HttpClient()) { client.BaseAddress = …

3
Hinzufügen von HTTP-Headern zu HTTP-Client
Alles: Ich muss dem HttpClient http-Header hinzufügen, bevor ich eine Anfrage an einen Webdienst sende. Wie mache ich das für eine einzelne Anfrage (im Gegensatz zum HttpClient für alle zukünftigen Anfragen)? Ich bin mir nicht sicher, ob das überhaupt möglich ist. var client = new HttpClient(); var task = client.GetAsync("http://www.someURI.com") …

13
Https-Aufruf mit HttpClient
Ich habe verwendet, HttpClientum WebApi-Aufrufe mit C # zu tätigen. Scheint ordentlich und schnell im Vergleich zu WebClient. Ich stecke jedoch fest, während ich Httpstelefoniere. Wie kann ich den folgenden Code verwenden, um HttpsAnrufe zu tätigen? HttpClient httpClient = new HttpClient(); httpClient.BaseAddress = new Uri("https://foobar.com/"); httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/xml")); var …

3
Ist die gleichzeitige Verwendung von HttpClient sicher?
In allen Beispielen, deren Verwendung ich finden kann HttpClient, wird es für einmalige Anrufe verwendet. Was aber, wenn ich eine anhaltende Client-Situation habe, in der mehrere Anfragen gleichzeitig gestellt werden können? Grundsätzlich ist es sicher, client.PostAsync2 Threads gleichzeitig gegen dieselbe Instanz von aufzurufen HttpClient. Ich suche hier nicht wirklich nach …

6
Hinzufügen von Headern bei Verwendung von httpClient.GetAsync
Ich implementiere eine API, die von anderen Kollegen mit Apiary.io erstellt wurde, in einem Windows Store-App-Projekt. Sie zeigen dieses Beispiel einer Methode, die ich implementieren muss: var baseAddress = new Uri("https://private-a8014-xxxxxx.apiary-mock.com/"); using (var httpClient = new HttpClient{ BaseAddress = baseAddress }) { using (var response = await httpClient.GetAsync("user/list{?organizationId}")) { string …


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.