poniedziałek, 12 sierpnia 2024

Flurl oraz Flurl.Http

 Do napisania tego postu zainspirowały mnie dwie rzeczy. Pierwszą był post Cezarego Walenciuka na jego blogu odnośnie problemów z klasą HttpClent  https://cezarywalenciuk.pl/blog/programing/ihttpclientfactory-na-problem-z-httpclient 

Cezary omawia tam problem braku zwalniania socketów przez klasę HttpClient. Jako pierwsze rozwiązanie pada "użyj Flur", który opakowuje HttpClienta i dzięki temu działa to dużo bezpieczniej. Później Cezary omawia problem czystego HttpClienta i na koniec podaje rozwiązanie docelowe dla aplikacji .NET CORE MVC  czyli HttpClientFactrory wpiętego w pipeliy (sorry, middleware) ASP MVC CORE. Wszystko pięknie, tyle że ja aktualnie pisałem sobie apkę na zadanie rekrutacyjne i tam było w wymaganiach podane aby to była aplikacja Windows Forms. Chwilę popatrzyłem, nie bardzo wiedziałem jak się wpiąć w pipeliny (middleware) WinFormsów więc użyłem Flur.Http i jestem szczęśliwy. 

Dziękuje Cezary.


Edycja: 

Problem HttpClient oraz propozycje na jego rozwiązanie jest znacznie szerzej opisany w czasopiśmie Programista nr. 5/2023 (110). Autorem art. jest Igor Trafalski.

Igor przedstawia rozwiązania w postaci HttpClientFactory oraz TypedHttpClient czyli wykorzystanie wbudowanej w net core HttpClientFactory, która to poprzez specjalny handler reużywa połączeń HttpClienta. 


Linki:

https://www.nuget.org/packages/Flurl.Http

https://programistamag.pl/programista-5-2023-110/ - link do wspomnianego numeru czasopisma "Programista"

https://programistamag.pl/jak-bezpiecznie-korzystac-z-httpclient-w-net/ -> więcej o tym konkretnym art. Igora.

https://learn.microsoft.com/en-us/aspnet/core/fundamentals/http-requests?view=aspnetcore-9.0 -> link do dokumetacji

Brak komentarzy:

Prześlij komentarz