Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rekomendacja wymiany RestSharp na inną bibliotekę #8

Open
hahyes opened this issue Nov 19, 2021 · 2 comments
Open

Rekomendacja wymiany RestSharp na inną bibliotekę #8

hahyes opened this issue Nov 19, 2021 · 2 comments

Comments

@hahyes
Copy link

hahyes commented Nov 19, 2021

Dobry,

jako, że mam pewne doświadczenie z RestSharp, chcę podzielić się swoimi doświadczeniami o tej bibliotece, która we współczesnych standardach jest... lekko mówiąc, fatalna do produkcyjnego użytku.

RestSharp korzysta z HttpWebRequest, co od lat nie ulega zmianie. Jednakże Microsoft nie rozwija tej biblioteki od lat. Działa ona na takiej zasadzie, że dla każdego zapytania tworzy nowe połączenie. Połączenia te po wykorzystaniu wiszą w tablicy ARP do czasu timeoutu: TIME_WAIT. Natomiast HttpClient to już inna sprawa, jest rozwijany dalej w nowym .NET, korzysta z puli połączeń (zbiór połączeń, które są używane wielokrotnie) zamiast tworzenia całej ich masy, która oczekuje na zamknięcie.

Dlatego z całego serca polecam zmianę z RestSharp, ponieważ netstat pokazuje dantejskie sceny po używaniu go. Osobiście korzystam z Flurl.Http, ale sam HttpClient też jest bardzo spoko (interfejs tej biblioteki został dosyć ucywilizowany). Istnieje też inspirowany Retrofitem - Refit, który pozwala budować interfejsy do API. Niestety RestSharp nie jest przyszłościowym kierunkiem, sam deweloper nie chce go szczególnie rozwijać, co tłumaczy małym zainteresowaniem dotacjami.

Poza tym wszystkim, niezmiernie cieszę się, że ktoś podejmuje taki projekt w C#. Rzuciłbym jakimś PR, ale jestem amatorem i w życiu nie napisałbym tak ładnie ułożonego projektu. Wolę dzielić się doświadczeniami. ;)

Pozdrawiam serdecznie.

@PiotrFerenc
Copy link
Owner

Elo.
Dzięki za zwrócenie uwagi. Nie ukrywam, że sam szukam fajnej alternatywy do RestSharpa. Przejrzę biblioteki polecane przez Ciebie.

@hahyes
Copy link
Author

hahyes commented Jan 20, 2022

Mała aktualizacja w temacie. W wersji 107.x.x i wyżej RestSharp używa już HttpClient (a deweloper pisał, że nie będzie tego robił...)
Jednak poczyniono pewne duże zmiany, z którymi warto się zapoznać:
https://github.com/restsharp/RestSharp/releases/tag/107.0.0

Więc z mojej strony nie mam już zastrzeżeń do tej biblioteki. :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants