في الوقت الحاضر ، لا تستخدم العديد من مواقع الويب التي تستخدم ASP المكونات على الإطلاق. اليوم ، يصف محرر قناة Fooxin Technology باختصار خدمات التقسيم بين ASP والمكونات. آمل أن يكون من المفيد لك أن تتعلم هذه المعرفة.
خدمات قسم ASP والمكونات
يستخدم ASP الأكثر شيوعًا لإنشاء ملفات HTML أو XML للاستخدام من قبل العملاء على الخوادم ، لذلك نناقش بشكل أساسي سيناريو الاستخدام هذا. هذا يطرح سؤالًا شائعًا: إذا كانت صفحات ASP على الخادم ، فهل تنتمي إلى جزء من طبقة العمل؟ في عالم المكون ، عادة ما تكون الإجابة لا. على الرغم من أن ASP يعمل على الخادم وقد يكون في نفس مساحة خادم التطبيق ، فإن هذا لا يجعله جزءًا من منطق العمل.
مع نمو أدوات واجهة المستخدم أو مع تمكين حلول الأعمال إلى الأعمال التجارية ، فإن وجود هذا التمييز الواضح سيؤتي ثمار مكافأة ضخمة.
بعد قولي هذا ، دعونا نلقي نظرة على بعض من أهم معايير طبقة العمل وطبقة العرض التقديمي:
منفصل رمز واجهة المستخدم عن منطق العمل. يتضمن ذلك كتابة رمز مقترن بواجهة المستخدم ، مثل استخدام كائن MTS الذي يستخدم مكونًا داخليًا لـ ASP لفصله عن رمز منطق العمل ، كما لو كان في DLL مختلف.
منفصل المعاملات عن صفحات ASP. تعتبر المعاملة ASP جيدة جدًا في بعض الحالات ، لكن المكونات والتطبيقات متعددة المستويات تغير هذا. يجب ألا تعتمد المكونات على طبقة العميل لإدارة معاملاتها ودلالات منطق الأعمال.
ضع المكون الذي يمثل (المكون الذي يستخدم الطلب والاستجابة) في نفس الجهاز و/أو عملية خادم الويب. إذا تم وضع كائن يستخدم كائن المكون الداخلي ASP على جهاز بعيد ، فسيحدث جميع المكالمات إلى المكون الداخلي في نموذج رد الاتصال. خادم COM+ الذي يدعو عميل IIS هو خادم COM+ ، مما يقلل بشكل كبير من الأداء ويعقد تكوين الأمان. يمكن وضع كائنات التعديل هذه في تطبيق COM+ الذي يحمل علامة "تنشيط المكتبة".
يوجد ASP على الخادم ، لذلك يجب أن تتوافق صفحة ASP لقواعد مشاركة الموارد وتضع في الاعتبار قابلية التوسع. يرجى الاطلاع على التفاصيل أدناه:
في "الجلسة" ، يجب أن تحاول الإدارة تجنب الحالة الخاصة بالمستخدم.
الحفاظ على ASP عديمة الجنسية واترك تجمعات الموارد حيثما أمكن.
طريقة التشغيل
عند تقييم ما إذا كان قطاع الرموز ينتمي إلى منطق العمل أو طبقة العرض التقديمي ، اسأل نفسك ، "إذا كان علي استبدال صفحة ASP الخاصة بي بتطبيق هاتف من نوع الزر ، فهل هذا الرمز لا يزال مفيدًا؟" إذا كانت الإجابة "نعم" ، فيمكنك محاولة تقسيمها إلى رمز منطق العمل أو رمز مساعد واجهة المستخدم.
إذا كان لا يمكن استخدام الرمز بعد تغيير العميل ، أو إذا كان مساعدًا لبناء واجهة المستخدم ، فإن الكود ينتمي إلى طبقة خدمة التمثيل. يقع في صفحة ASP ، أو في مكون يستخدم المكونات الداخلية ASP. لا ينتمي إلى مكون كائن العمل.
فهم الفرق بين سطح المكتب وعميل ASP
ASP عميل خاص للمكونات ، على عكس تطبيقات Win32 التقليدية على سطح المكتب. يتم تلخيص الاختلافات الرئيسية على النحو التالي.
إدارة الموضوع: ASP عميل متعدد الخيوط. هذا يعني أنه يمكن أن يكون هناك العديد من الأنشطة المتزامنة التي تعمل معًا ، وربما تتعامل مع صفحات ASP المختلفة في نفس الوقت. هذا يعني أنه لا يمكن إجراء الكائن للادعاء بشكل خاطئ بأنه المستخدم الوحيد الذي يشغل النظام بشكل حصري. يمكن أن يسبب القيام بذلك ردود فعل غير متوقعة ، على سبيل المثال ، لتطوير عادة سيئة لتخزين الكائنات في جلسة ASP أو متغيرات التطبيق.
بيئة الأمان: يتم تنفيذ ASP بواسطة خدمات معلومات الإنترنت 5.0 في موقع الويب ، مع ثلاثة مستويات عزل: منخفضة ومتوسطة وعالية. حتى مواقع الويب هذه يمكن أن تحتوي على إعدادات أمان مختلفة ، والسماح أو رفض الوصول المجهول ، ومصادقة العملاء ، والمزيد. تنشئ كل هذه الإعدادات عددًا كبيرًا من المخططات حيث تنتهي حسابات المستخدمين المختلفة باستخدام كائناتك.
النمو بسهولة: هذه ليست مشكلة فنية ، ولكنها تأثير جانبي للمرافق التي توفرها تطبيقات الويب.
تقليديًا ، تتطلب إضافة قاعدة المستخدمين إلى تطبيقات سطح المكتب تخطيطًا دقيقًا للتحويلات إلى أعداد معروفة من العملاء. لقد غيرت ASP العملية. بعد التشغيل والتشغيل ، يمكن فتح التطبيق الأساسي البصري ASP بسهولة لاستخدامه من قبل جميع الموظفين وجميع شركاء الأعمال وجميع العملاء محليًا أو في جميع أنحاء العالم.
يمكن وصفه بهذه الطريقة - يمكن أن ينمو بريد إلكتروني واحد يحتوي على ارتباط تشعبي قاعدة المستخدم عشرة أضعاف. هل تطبيقك جاهز لهذا؟ الطريقة الوحيدة لمعرفتها هي إجراء اختبار القوة على موقع الويب الخاص بك للحصول على القيمة المتوقعة للأداء الفعلي.
كيف يجب أن تستخدم كائنات Visual Basic داخل ASP؟ قم بإنشاء وإلغاء الكائنات الخاصة بك في نطاق الصفحة.
وهذا يعني ، اجعل صفحة ASP عديمة الجنسية قدر الإمكان ، وتعتمد فقط على متغيرات الجلسة أو التطبيق في حالة مؤقتة. لا تقم بتخزين الكائنات في متغيرات الجلسة أو التطبيق. هذا يغلق مؤشر ترابط ASP إلى جلستك ، يلغي جميع القيم المتوقعة لقابلية التوسع. وهذا يعني أن عدد المستخدمين المعالج من قبل خادم الويب لن يتجاوز عشرات المستخدمين. إذا كنت بحاجة إلى تخزين المحتوى في جلسة أو تطبيق ، اجعله بيانات بدلاً من كائن.
هناك العديد من الإرشادات الأخرى التي يجب اتباعها. نوصي بقراءة العمود "servin it up" كتبه JD Meier على MSDN Voices. يتضمن هذا العمود مجموعة واسعة من التقنيات والممارسات والنصائح التي تساعد على تطوير تطبيقات ASP والتطبيقات الموثوقة والموثوقة.
لا تقم بتخزين المراجع في كائنات VB في الجلسة أو التطبيق
جميع مكونات Visual Basic 6.0 هي "مواضيع الوحدة" ، مما يعني أنها جميعها تعمل في وحدات STA. هذا يعني أنه إذا تم إنشاء كائن في مؤشر ترابط ، فيجب تقديم جميع المكالمات إلى هذا الكائن بواسطة مؤشر الترابط نفسه. تستخدم العديد من مؤشرات الترابط (من مستخدمي موقع الويب المتزامن) نفس مثيل كائن STA ، مما تسبب في سلسلة من الأنشطة التي يمكن أن تصبح اختناقات في التطبيق.
بالإضافة إلى ذلك ، يمكن لتخزين كائنات STA التي تم إنشاؤها باستخدام Server.CreateBject داخل نطاق الجلسة الاتصال بفعالية بمسلسل التنفيذ إلى المستخدم الحالي ، وبالتالي الحد من الحد الأقصى لعدد المستخدمين المتزامنين للتطبيق إلى 20xN الافتراضي (ن = عدد المعالجات).
طريقة التشغيل
إذا اتبعت توصياتنا لجعل الكائنات عديمة الجنسية ، فلن تحتاج إلى تخزين المراجع لإعادة استخدام العميل وتخزينها في نطاق التطبيق. سيتمكن العملاء من إنشاء كائناتهم الخاصة واستخدامها وإلغاءها بشكل مستقل. هذا يقلل من الحاجة إلى الحفاظ على الكائنات الخاصة بالجلسة لأنها لا تحتفظ بحالة خاصة بالجلسة.
تتمثل الطريقة الموصى بها في جعل الكائن بلا جنسية ، والذي يصل إلى قاعدة البيانات أو مناطق التخزين الأخرى (مثل ملفات تعريف الارتباط و LDAP) عند الحاجة.
إذا كنت بحاجة إلى استخدام بيانات الجلسة أو التطبيق على مستوى التطبيق ، فقم بتخزين البيانات ، بدلاً من الكائن الذي يعالج البيانات ، هنا. يمكنك إنشاء فئة تغلف معالجة القيمة المطلوبة.
تعلم محتوى جديد في IIS 5.0
يضيف خادم معلومات الإنترنت 5.0 العديد من الميزات الجديدة. تمت كتابة هذه التحسينات في مقالة MSDN الخاصة بـ JD Meier: استخدم ASP في IIS 5.0 (الإنجليزية).
ما سبق هو وصف موجز لخدمات القسم بين ASP والمكونات التي يشاركها محرر قناة التكنولوجيا الجديدة الخاطئة. آمل أن يكون لديك المزيد من المعرفة حول هذا الجانب ، مما سيساعد على تطوير ASP.