httpclient, jak się do tego zabrać

Odpowiedz Nowy wątek
2018-11-07 15:39
Chory Ogórek
0

Cześć,
robię prostą aplikacje (winforms) której głównym zadaniem będzie wysłanie dużych ilości zapytań do serwerów. Do tej pory jak potrzebowałem coś pobrać, to korzystałem z webclienta ewentualnie webrequest jak chciałem coś wysłać. Teraz chciałbym wykorzystać httpclient. Z tego co wyczytałem, to powinno się utworzyć jednego klienta, zamiast używać using. Z tym, że nie bardzo wiem jak do tego podejść. Czy dobrym rozwiązaniem będzie stworzenie instancji np w form1 i odwoływanie się do niej np. tak; method(httpclient client) (tutaj chodzi mi o metody w innych klasach)? I czy z HttpClientHandler, też należy tak postępować (tzn. tworzyć tylko jedną instancję) ? A jeśli tak, to jak wtedy obsłużyć proxy/cookies które dla każdego serwera będą inne? Tak jak pisałem, nie za bardzo wiem jak się za to zabrać i nie mam też dużego doświadczenia w 'requestach', także sorry jak piszę jakieś totalne pierdoły ;d

Pozostało 580 znaków

2018-11-07 15:54
2

jezeli mozesz to uzyj.

https://github.com/aspnet/HttpClientFactory

jest to dobre rozwiazanie jezeli potrzebujesz klika httpclientow.

Nie jest problemem posiadanie kilku Httpclientow, ale problemem jest, ze HttpClient tworzy i otwiera socket. Przez co jak tworzysz nowe instacje to moze Ci zabraknac socketow. HttpClientFactory rozwiazuje ten problem

Pozostało 580 znaków

2018-11-07 18:35
0

A jeśli to jakieś serwisy testowe, to użyj RestSharpa.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2018-11-07 19:36
Chory Ogórek
0
somekind napisał(a):

A jeśli to jakieś serwisy testowe, to użyj RestSharpa.

O, ten restsharp wydaje się super. A w nim też unikać tworzenia kilku klientów, czy nie występuje taki problem jak z;

fasadin napisał(a):

Nie jest problemem posiadanie kilku Httpclientow, ale problemem jest, ze HttpClient tworzy i otwiera socket. Przez co jak tworzysz nowe instacje to moze Ci zabraknac socketow. HttpClientFactory rozwiazuje ten problem

? Bo z tego co widzę, to nawet nie da się zamknąć tego połączenia, jak w przypadku httpclienta.

edytowany 1x, ostatnio: Ktos, 2018-11-07 21:03

Pozostało 580 znaków

2018-11-08 01:15
0

RestSharp zajmuje się połączeniami za Ciebie, Ty tylko tworzysz sobie RestClient tam gdzie chcesz i ile razy chcesz.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0