Httpclient keçici, yoxsa təkton olmalıdır?

Mündəricat:

Httpclient keçici, yoxsa təkton olmalıdır?
Httpclient keçici, yoxsa təkton olmalıdır?

Video: Httpclient keçici, yoxsa təkton olmalıdır?

Video: Httpclient keçici, yoxsa təkton olmalıdır?
Video: The RIGHT Way To Use HttpClient In .NET 2024, Noyabr
Anonim

HttpClient sinfi tək proqram domeni üçünsingleton kimi daha uyğundur. Bu o deməkdir ki, singleton birdən çox konteyner sinifləri arasında paylaşılmalıdır. Bu taktika ilə siz singleton əldə edirsiniz, lakin bu, paylaşmağı çətinləşdirir. HttpClient sinfi IDisposable interfeysini həyata keçirir.

Bütün sorğular üçün yeni tək HttpClient nümunəsi yaratmalıyıq?

O, IDisposable interfeysini həyata keçirsə də, əslində paylaşılan obyektdir. Bu o deməkdir ki, örtüklər altında yenidən daxil olur və ip təhlükəsizdir. Hər icra üçün yeni HttpClient nümunəsi yaratmaq əvəzinə siz tətbiqin bütün ömrü boyu HttpClient-in bir instansiyasını paylaşmalısınız.

HttpClient-dən yenidən istifadə etməlisiniz?

HttpClient bir dəfə yaradılıb tətbiqin ömrü boyu təkrar istifadə edilməsi nəzərdə tutulub. Hər sorğu üçün HttpClient sinifinin yaradılması ağır yüklər altında mövcud olan rozetkaların sayını tükəndirəcək. Bu, SocketException xətaları ilə nəticələnəcək.

HttpClient idarə olunmur?

HttpClient dolayısı ilə IDisposable interfeysini tətbiq etsə də, HttpClient-in standart istifadəsi onu hər sorğudan sonra atmaq deyil. HttpClient obyekti tətbiqinizin HTTP sorğuları etməli olduğu müddətcə yaşamaq üçün nəzərdə tutulub.

HttpClient mövzu üçün təhlükəsizdirmi?

HttpClient, MultiThreadedHttpConnectionManager kimi iplə təhlükəsiz əlaqə meneceri ilə istifadə edildikdə, mövzu üçün tam təhlükəsizdir. … Eyni zamanda HttpClient instansiyası və əlaqə meneceri maksimum səmərəlilik üçün bütün mövzular arasında paylaşılmalıdır.

Tövsiyə: