Pokazywanie postów oznaczonych etykietą flur. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą flur. Pokaż wszystkie posty

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