سؤال

الرجوع إلى هذا السؤال: هو ASP.NET متعدد المراحل (كيف تنفذ الطلبات), ، هل سيكون هذا التفسير الصحيح للخيوط: ASP.NET لديه عملية عامل واحدة لكل حالة تطبيق. إنه متعدد الخيوط، باستخدام تجمع التطبيقات الخاصة به. تستخدم غالبية المواضيع في طلب الخدمة (المستخدم). كل طلب (جلسة المستخدم) هو موضوع واحد. الرد المقابل قد يكون موضوع آخر. طلب المستخدم يأتي مؤشر ترابط متعددة من ISAPI، وهو نفسه متعدد الخيوط.

Ajax ليس متعدد الخيوط. يستخدم نفس نموذج الخيوط كمواقع غير AJAX. قد يتسبب طلب الصفحة (Ajax أو Non Ajax) مؤشرات ترابط متعددة يتم استخدامه على الخادم ولكنه لا يزال موضوعا واحدا على العميل (يستخدم المستعرض مؤشر ترابط واحد).

هل كانت مفيدة؟

المحلول

باختصار، نعم. في ASP.NET، يتم التعامل مع الطلب / الاستجابة عادة في مؤشر ترابط واحد ... لا يوجد تمييز واضح بين "الطلب" و "استجابة"، إنه ببساطة ISAPI يمر معلومات الطلب إلى معالج ASP.NET وسيقوم بتنفيذ التعليمات البرمجية المناسبة وكتابة إخراج. (على الرغم من وجود آلية لترحيل الطلب من مؤشر ترابط واحد إلى آخر عندما يكون ASP.NET قيد التحميل وتحتاج إلى استخدام فعال من المواضيع المتاحة. لكنني لست متأكدا بنسبة 100٪ على مستوى مفصل عند متى أو لماذا يحدث هذا. في

جافا سكريبت من جانب المتصفح و Ajax ليست متعددة الخيوط، ولكن يمكن أن تظهر بهذه الطريقة لبعضها لأن مكالمات Ajax غير متزامنة والاستجابات هي مدفوعة بالحدث؛ وهذا هو، بمجرد إرسال الطلب إلى الخادم، لا يتم حظر مؤشر ترابط JavaScript. إنه مجاني لإرسال المزيد من الطلبات إلى الخادم، وقد تعود الردود أو لا تعود بنفس الترتيب الذي تم إرساله. ومع ذلك، لأنه في النواة هناك حقا موضوع واحد فقط، إذا عادت ردان في نفس الوقت، فسيقوم المرء بمنع تنفيذ الآخر حتى يتم الانتهاء منه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top