Pytania otagowane jako dotnet-httpclient

Odnosi się do biblioteki System.Net.Http.HttpClient, która jest częścią pakietu HttpClient w NuGet lub biblioteki .NET 4.5.

12
Czy HttpClient i HttpClientHandler muszą być usuwane między żądaniami?
System.Net.Http.HttpClient i System.Net.Http.HttpClientHandler w .NET Framework 4.5 implementują IDisposable (przez System.Net.Http.HttpMessageInvoker ). Dokumentacja usingoświadczenia mówi: Z reguły, gdy używasz obiektu IDisposable, powinieneś zadeklarować go i utworzyć jego instancję w instrukcji using. Ta odpowiedź wykorzystuje ten wzorzec: var baseAddress = new Uri("http://example.com"); var cookieContainer = new CookieContainer(); using (var handler = …

6
HttpClient.GetAsync (…) nigdy nie zwraca wartości przy użyciu funkcji Oczekiwania / Asynchronizacji
Edit: To pytanie wygląda to może być ten sam problem, ale nie ma odpowiedzi ... Edycja: W przypadku testowym 5 zadanie wydaje się być zablokowane WaitingForActivation. Napotkałem pewne dziwne zachowanie podczas używania System.Net.Http.HttpClient w .NET 4.5 - gdzie „oczekiwanie” na wynik wywołania (np.) httpClient.GetAsync(...)Nigdy nie powróci. Dzieje się tak tylko …

4
Dlaczego HttpClient BaseAddress nie działa?
Rozważ następujący kod, w którym BaseAddressdefiniuje częściową ścieżkę URI. 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"); } Oczekuję, że spełni to GETżądanie http://something.com/api/resource/7. Ale tak nie jest. Po kilku poszukiwaniach znajduję to pytanie i odpowiedź: …

2
Jak skonfigurować HttpContent dla mojego drugiego parametru HttpClient PostAsync?
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; } PostAsyncTrwa kolejny parametr, który musi …

10
HttpClient nie obsługuje metody PostAsJsonAsync C #
Próbuję wywołać interfejs API sieci Web z mojej aplikacji internetowej. Używam .Net 4.5 i podczas pisania kodu otrzymuję błąd, HttpClientktóry nie zawiera PostAsJsonAsyncmetody definicji . Poniżej znajduje się kod: 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; user.Remarks …

7
Decydowanie między HttpClient a WebClient
Nasza aplikacja internetowa działa w .Net Framework 4.0. Interfejs użytkownika wywołuje metody kontrolera za pośrednictwem wywołań ajax. Musimy skorzystać z usługi REST od naszego dostawcy. Oceniam najlepszy sposób na wywołanie usługi REST w .Net 4.0. Usługa REST wymaga podstawowego schematu uwierzytelniania i może zwracać dane zarówno w formacie XML, jak …

6
HttpClient - zadanie zostało anulowane?
Działa dobrze, gdy ma jedno lub dwa zadania, ale zgłasza błąd „Zadanie zostało anulowane”, gdy mamy na liście więcej niż jedno zadanie. 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) { HttpRequestMessage httpRequestMessage = new HttpRequestMessage(method, …

6
Po co używać HttpClient do połączenia synchronicznego
Buduję bibliotekę klas do interakcji z interfejsem API. Muszę wywołać interfejs API i przetworzyć odpowiedź XML. Widzę zalety korzystania HttpClientz łączności asynchronicznej, ale to, co robię, jest czysto synchroniczne, więc nie widzę żadnej znaczącej korzyści z używania HttpWebRequest. Jeśli ktoś mógłby rzucić jakiekolwiek światło, byłbym bardzo wdzięczny. Nie jestem zwolennikiem …


7
Jakie są narzuty związane z tworzeniem nowego HttpClient na wywołanie w kliencie WebAPI?
Jaki powinien być HttpClientczas życia klienta WebAPI? Czy lepiej jest mieć jedną instancję HttpClientdla wielu wywołań? Jakie są narzuty związane z tworzeniem i usuwaniem HttpClientżądania na żądanie, jak w przykładzie poniżej (pobrane z http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from- klient sieciowy ): using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://localhost:9000/"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new …

3
Dodawanie nagłówków HTTP do HttpClient
Wszystko: Muszę dodać nagłówki http do HttpClient, zanim wyślę żądanie do usługi sieci Web. Jak to zrobić dla indywidualnego żądania (w przeciwieństwie do HttpClient do wszystkich przyszłych żądań)? Nie jestem pewien, czy jest to w ogóle możliwe. var client = new HttpClient(); var task = client.GetAsync("http://www.someURI.com") .ContinueWith((taskwithmsg) => { var …

13
Wykonaj wywołanie HTTPS przy użyciu HttpClient
Używam HttpClientdo wykonywania wywołań WebApi przy użyciu języka C #. Wydaje się schludny i szybki w porównaniu do WebClient. Jednak utknąłem podczas wykonywania Httpspołączeń. Jak mogę zrobić poniższy kod, aby wykonywać Httpspołączenia? HttpClient httpClient = new HttpClient(); httpClient.BaseAddress = new Uri("https://foobar.com/"); httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/xml")); var task = httpClient.PostAsXmlAsync<DeviceRequest>( "api/SaveData", …

6
Dodawanie nagłówków podczas korzystania z httpClient.GetAsync
Wdrażam interfejs API stworzony przez innych współpracowników z Apiary.io w projekcie aplikacji Windows Store. Pokazują przykład metody, którą muszę zaimplementować: 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 responseData = await response.Content.ReadAsStringAsync(); } } …

3
Czy usługa HttpClient jest bezpieczna w użyciu jednocześnie?
We wszystkich przykładach zastosowań, które mogę znaleźć HttpClient, jest używany do jednorazowych połączeń. Ale co w przypadku trwałej sytuacji klienta, w której można wysłać kilka żądań jednocześnie? Zasadniczo, czy można bezpiecznie wywoływać jednocześnie client.PostAsync2 wątki z tego samego wystąpienia HttpClient. Nie szukam tutaj wyników eksperymentów. Przykładem roboczym może być po …


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.