Logo fa.boatexistence.com

آیا httpclient باید گذرا باشد یا تکی؟

فهرست مطالب:

آیا httpclient باید گذرا باشد یا تکی؟
آیا httpclient باید گذرا باشد یا تکی؟

تصویری: آیا httpclient باید گذرا باشد یا تکی؟

تصویری: آیا httpclient باید گذرا باشد یا تکی؟
تصویری: استفاده نادرست از HttpClient را در NET متوقف کنید 2024, ممکن است
Anonim

کلاس HttpClient به عنوان یک تک‌تون براییک دامنه اپلیکیشن مناسب‌تر است. این بدان معنی است که singleton باید در چندین کلاس کانتینر به اشتراک گذاشته شود. با این تاکتیک، شما یک تک قلو دریافت می کنید، اما این کار اشتراک گذاری آن را دشوار می کند. کلاس HttpClient رابط IDisposable را پیاده سازی می کند.

آیا باید یک نمونه واحد جدید از HttpClient برای همه درخواست ها ایجاد کنیم؟

اگرچه رابط IDisposable را پیاده سازی می کند، اما در واقع یک شی مشترک است. این به این معنی است که در زیر روکش ها مجدداً وارد می شود و ایمن است. به جای ایجاد یک نمونه جدید از HttpClient برای هر اجرا، باید یک نمونه واحد از HttpClient را برای کل طول عمر برنامه به اشتراک بگذارید.

آیا باید از HttpClient دوباره استفاده کنید؟

HttpClient در نظر گرفته شده است که یک بار نمونه‌سازی شود و در طول عمر یک برنامه مورد استفاده مجدد قرار گیرد. نمونه سازی یک کلاس HttpClient برای هر درخواست، تعداد سوکت های موجود را تحت بارهای سنگین تمام می کند. این منجر به خطاهای SocketException می شود.

آیا HttpClient مدیریت نشده است؟

اگرچه HttpClient به طور غیرمستقیم رابط IDisposable را پیاده‌سازی می‌کند، استفاده استاندارد از HttpClient این نیست که پس از هر درخواستآن را دور بریزید. هدف HttpClient تا زمانی که برنامه شما برای درخواست HTTP نیاز دارد زنده بماند.

آیا HttpClient از نظر موضوع ایمن است؟

HttpClient زمانی کاملاً امن است کهبا یک مدیر اتصال ایمن رشته مانند MultiThreadedHttpConnectionManager استفاده شود. … در همان زمان، نمونه HttpClient و مدیر اتصال باید بین تمام رشته‌ها برای حداکثر کارایی به اشتراک گذاشته شود.

توصیه شده: