بعد ذلك، سنكتب مكونًا بسيطًا للغاية، حيث سيكون التركيز على معرفة كيفية تطوير مكونات DLL، بدلاً من التعليمات البرمجية المعقدة الخاصة بها، وكل ذلك سيعتمد على جهودك الخاصة في المستقبل.
هذه المقالة مكتوبة بشكل أساسي للأشخاص الذين يرغبون في تحسين مستوى ASP الخاص بهم! من خلال تحويل كود ASP إلى مكونات، لا يقوم المطورون بتسريع ASP فحسب، بل يقومون أيضًا بحماية التعليمات البرمجية الخاصة بهم من أجل إعطاء درس تمهيدي لمستخدمي الإنترنت الذين يريدون تطوير المكونات!
بعد ذلك، سنكتب مكونًا بسيطًا للغاية، حيث سيتم التركيز على معرفة كيفية تطوير مكونات DLL، بدلاً من التعليمات البرمجية المعقدة الخاصة بها، وكل ذلك سيعتمد على جهودك الخاصة في المستقبل.
مكونات جانب الخادم
أولاً، يجب أن تكون المكونات من جانب الخادم مختلفة عن المكونات من جانب العميل، حيث يتم نقلها عبر الشبكة وتعتمد على HTML لتعمل، ولا يمكن استخدامها إلا على IE من جانب الخادم ويتم تنفيذها على الخادم، لذلك يمكن لجميع المتصفحات الاستمتاع بها، وتعتمد على الخادم بدلاً من المتصفح.
عندما يُطلب من IIS تنفيذ برنامج ASP، فسيقوم أولاً بالعثور على الرمز الموجود بين العلامات في ملف ASP وتنفيذه (يمكن أيضًا أن يكون الرمز الموجود بين العلامات) إذا تم استدعاء برنامج ASP من قبل، فسوف يستخدم يتم تجميع البرنامج في الذاكرة لإرجاع كود HTML إلى المستخدم، وإذا لم يكن الأمر كذلك، فسيتم إعادة ترجمته. وهنا يتمتع ASP بميزة سرعة قليلة مقارنة بـ CGI، لأن CGI يستخدم مؤشر ترابط لكل طلب، وهذا يستهلك الكثير من موارد الخادم.
هل فكرت يومًا أن البرنامج الذي كتبته يمكن تشغيله على IIS!؟! يمكنك القيام بذلك الآن! باستخدام VB5 (الآن VB6 بالطبع)، يمكنك إنشاء مكتبات مرتبطة ديناميكية (ملفات DLL)، والتي يمكن تشغيلها مباشرة على IIS (إذا كان ذلك ممكنًا). هناك ملف asp للطلب).
متطلبات النظام والبرمجيات
أنت بحاجة إلى نظام تشغيل 32 بت لتشغيل ASP. بالطبع، يجب عليك أيضًا تثبيت IIS أو PWS. تم تطوير برنامجنا التالي في بيئة windows95+PWS+VB5.
لنبدأ
ابدأ تشغيل VB الخاص بك وحدد رمز ActiveX الذي يمكن العثور عليه في المشروع الجديد! سيوفر VB اسم المشروع الافتراضي (project1) واسم الفئة (class1). أن لدينا مكتبة كائنات Microsoft Active Server Pages، وهي مفيدة جدًا في برنامجنا، حدد Project من القائمة، ثم حدد References، ستظهر النافذة المرجعية، حدد Microsoft Active Server Pages Object Library.
تسمية المشاريع والطبقات
الآن دعونا نسمي المشروع 1 والفئة 1 وفقًا لهواياتنا الخاصة! إن تسميتهم مهمة جدًا أيضًا. سنستخدم اسم المشروع واسم الفئة لإنشاء مثيلات لهذا المكون في المستقبل.
لا أريد أن أقول المزيد عن كيفية تغيير اسمك!
تم تغيير اسم مشروعنا إلى Exmaple، وكان اسم الفئة Helloword
كيفية استخدام المشاريع والفصول الدراسية
الآن لدينا مشروعنا الخاص (Example1) واسم الفئة (HelloWorld). سنستخدم أسمائهم في كود ASP للإشارة إلى هذا المكون في المستقبل في ASP، كما يلي:
تعيين ObjReference = Server.CreateObject(ProjectName.ClassName)
المرجع لمشروعنا هو:
تعيين ObjReference = Server.CreateObject(Example1.HelloWorld)
يمكننا الآن استخدام ObjReference لاستدعاء الوظائف والإجراءات الفرعية التي أنشأناها في المكون. بعد ذلك، سنكتب روتينًا فرعيًا لـ SayHello لتنفيذه كما يلي:
من أجل استخدام أساليب ASP في فئة Helloword، يجب عليك كتابة OnStartPage في هذه الفئة
الوظيفة الفرعية على النحو التالي:
OnStartPage الفرعي العام (PassedscriptingContext As scriptingContext)
قم بتعيين MyscriptingContext = PassedscriptingContext
نهاية الفرعية
الآن، عندما يصل المستخدم إلى ملف ASP باستخدام هذا المكون، سيقوم IIS بتمرير نص البرمجة النصية إلى الكائن الخاص بنا لنستخدمه الكود التالي:
انسخ رمز الكود كما يلي:
OnStartPage الفرعي العام (PassedscriptingContext As scriptingContext)
قم بتعيين MyscriptingContext = PassedscriptingContext
قم بتعيين MyApplication = MyscriptingContext.Application
قم بتعيين MyRequest = MyscriptingContext.Request
قم بتعيين MyResponse = MyscriptingContext.Response
قم بتعيين MyServer = MyscriptingContext.Server
قم بتعيين MySession = MyscriptingContext.Session
نهاية الفرعية
في المستقبل، يمكننا استخدام MyApplication في VB لاستبدال التطبيق في ASP بنفس الطريقة، يمكننا استبدال Request، Server...، ولكن علينا الإعلان عن هذه المتغيرات قبل OnStartPage:
انسخ رمز الكود كما يلي:
MyscriptingContext الخاص كنص نصي
MyApplication الخاص كتطبيق
MyRequest خاص حسب الطلب
MyResponse الخاص كرد
MyServer الخاص كخادم
MySession الخاص كجلسة
الكائنات باستخدام ASP
يمكن الآن استخدام متغيراتنا مثل كائنات ASP القياسية. على سبيل المثال، غالبًا ما نستخدم Request.form() في ASP لجمع البيانات للنماذج المقدمة. الآن نقوم بتنفيذ هذه الوظيفة في VB الخاص بنا، ويكون الكود كما يلي:
تم التنفيذ في ASP:
تم تنفيذها في VB:
انسخ رمز الكود كما يلي:
MyTempVariable = MyRequest.Form(اسم المستخدم)
MyResponse.Write (لقد أدخلت & MyTempVariable كاسم المستخدم الخاص بك)
باستخدام MyResponse بدلاً من Response، يمكننا استخدام جميع طرق الاستجابة بالطبع، يمكن أن يكون اسم MyResponse هو ما تريد، ويمكنك حتى استخدام Response فقط.
شيء آخر يجب أن ننتبه إليه هو أنه يتعين علينا كتابة الوظيفة الفرعية OnEndPage في الفصل الذي أنشأناه. OnStartPage هو العكس!
انسخ رمز الكود كما يلي:
OnEndPage العامة الفرعية ()
قم بتعيين MyscriptingContext = لا شيء
تعيين MyApplication = لا شيء
تعيين MyRequest = لا شيء
اضبط MyResponse = لا شيء
تعيين MyServer = لا شيء
تعيين MySession = لا شيء
نهاية الفرعية
طريقة قل مرحبا
لنقم بإنشاء وظيفة فرعية لعرض Holle World. طريقة SayHello هذه هي مجرد وظيفة فرعية في فئة HelloWorld. سنستخدم الطريقة التالية لعرض هذه الطريقة في ASP في المستقبل.
برنامج SayHello بسيط جداً!
انسخ رمز الكود كما يلي:
العامة الفرعية SayHello()
MyResponse.Write (مرحبا بالعالم)
نهاية الفرعية
الآن بعد أن تمت كتابة مكون صغير، فإن العمل المتبقي هو تجميع المكون وحفظه في قائمة المشروع، ويمكنك إعطاؤه أي اسم. فلنستخدم Exmaple1.vbp ثم حدد make exmaple1.dll في القائمة وأضفه يتم تجميعها في ملف DLL اكتمل المكون حقًا!
لاحظ أنه بعد تجميع هذا المكون، يجب عليك أولاً إيقاف تشغيل PWS ثم تجميع هذا المكون وإلا سيخبرك VB أن بعض المكونات قيد الاستخدام.
استخدم المكونات الخاصة بنا في ASP.
عندما تقوم بتصحيح الأخطاء في التجميع وتجميع مشروع example1 بنجاح، يتعين عليك الآن إخراج محرر HTML المفضل لديك لكتابة العبارة التالية وحفظها كملف ASP.
يمكنك رؤية النتائج بعد التشغيل:
مرحبا بالعالم
تسجيل المكون
إذا كنت ترغب في مشاركة مكوناتك مع أصدقائك وجيرانك، فيجب عليك تسجيل مكوناتك على نظامك. نستخدم بشكل عام Regsvr32.exe لتسجيل المكونات، ستظهر مكوناتك في نظام التشغيل Win95/Win98 الدليل التالي هو مثال للتسجيل:
Regsvr32.exe C:/wwwroot/Example1/Example1.dll
في نظامك، سيقوم VB بتسجيله تلقائيًا نيابةً عنك، لذلك نادرًا ما تستخدم Regsvr32.exe
لقد كتبنا للتو مكونًا صغيرًا جدًا هنا، يمكنك كتابة مكونات أكبر بنفسك، ويمكنك أيضًا استخدام العديد من عناصر التحكم في VB.
دعونا نستخدم المكونات لتوسيع وظائف برنامجنا، وآمل أيضًا أن أرى المزيد من المكونات منا نحن الشعب الصيني.