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 = …
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 …
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ź: …
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 …
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 …
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, …
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 …
Jak mogę utworzyć przy użyciu C # i HttpClient następujące żądanie POST: Potrzebuję takiego żądania dla mojej usługi WEB API: [ActionName("exist")] [HttpPost] public bool CheckIfUserExist([FromBody] string login) { return _membershipProvider.CheckIfExist(login); }
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 …
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 …
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", …
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(); } } …
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 …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.