Logo ar.boatexistence.com

هل يجب أن يكون httpclient عابرًا أم منفردًا؟

جدول المحتويات:

هل يجب أن يكون httpclient عابرًا أم منفردًا؟
هل يجب أن يكون httpclient عابرًا أم منفردًا؟

فيديو: هل يجب أن يكون httpclient عابرًا أم منفردًا؟

فيديو: هل يجب أن يكون httpclient عابرًا أم منفردًا؟
فيديو: Angular httpclient error handling 2024, يمكن
Anonim

فئة HttpClient هي أكثر ملاءمة باعتبارها مفردة لـمجال تطبيق واحد. هذا يعني أنه يجب مشاركة المفرد عبر فئات حاوية متعددة. باستخدام هذا التكتيك ، تحصل على وحيد ، لكن هذا يجعل من الصعب مشاركته. فئة HttpClient تنفذ واجهة IDisposable.

هل يجب إنشاء مثيل واحد جديد لـ HttpClient لجميع الطلبات؟

على الرغم من أنه يقوم بتنفيذ واجهة IDisposable ، إلا أنه في الواقع كائن مشترك. هذا يعني أنه تحت الأغطية يتم إعادة دخوله وخيطه آمن. بدلاً من إنشاء مثيل جديد من HttpClient لكل عملية تنفيذ ، يجب عليك مشاركة مثيل واحدمن HttpClient طوال عمر التطبيق بالكامل.

هل يجب إعادة استخدام

HttpClient المقصود أن يتم إنشاء مثيل له مرة واحدةوإعادة استخدامه طوال عمر التطبيق. سيؤدي إنشاء فئة HttpClient لكل طلب إلى استنفاد عدد المقابس المتاحة تحت الأحمال الثقيلة. سيؤدي هذا إلى أخطاء SocketException.

هل HttpClient غير مُدار؟

على الرغم من أن HttpClient ينفذ بشكل غير مباشر واجهة IDisposable ، الاستخدام القياسي لـ HttpClient لا يتخلص منها بعد كل طلب. الغرض من كائن HttpClient هو البقاء على قيد الحياة طالما أن التطبيق الخاص بك يحتاج إلى إجراء طلبات HTTP.

هل مؤشر ترابط HttpClient آمن؟

يعتبر HttpClient آمنًا تمامًا لمؤشر الترابط عند استخدامهمع مدير اتصال آمن لمؤشر الترابط مثل MultiThreadedHttpConnectionManager. … في نفس الوقت ، يجب مشاركة مثيل HttpClient ومدير الاتصال بين جميع سلاسل الرسائل لتحقيق أقصى قدر من الكفاءة.

موصى به: