موصى به: المعرفة حول كائنات خطأ ASP المتقدمة لتطبيق ASP في VBScript ، هناك بيان onerrorresumenext يتسبب في أن يتجاهل مترجم البرنامج النصي أخطاء وقت التشغيل ومتابعة تنفيذ رمز البرنامج النصي. ثم يمكن للنص التحقق من قيمة خاصية err.number لتحديد ما إذا كان حدث خطأ. في حالة حدوث خطأ ، يتم إرجاع قيمة غير صفرية
4.2.3 أمثلة على التعليمات التي تحتوي على جانب الخادم
يوفر هذا القسم بعض الصفحات النموذجية التي يمكن استخدامها لتجربة عبارات مختلفة من جانب الخادم. افتح الدليل الفرعي لعينة صفحة الويب الفصل 04 ، وعرض توجيهات SSI وصفحة كائن خادم ASP (أي الافتراضية. asp في الفصل الفرعي الفصل 04)
يمكن تنزيل جميع الأمثلة على هذا الكتاب من موقع الويب الخاص بنا. سيجد القراء جميع صفحات العينة لبقية هذا الفصل في الفصل 04 ، المثال الفرعي.
1. استخدم SSI/CGI لمعالجة التعليمات
انقر على الرابط لإدخال صفحة "تشمل" و "CGI" لصفحة CGI ، والتي ستفتح صفحة SSI_CGI.Stm. تجدر الإشارة إلى أن تمديد ملف هذه الصفحة هو .stm ، مما يشير إلى أن هذه ليست صفحة ويب ASP. تستخدم هذه الصفحة جميع تعليمات SSI باستثناء تعليمات #EXEC (والتي ستظهر لاحقًا) تمت مناقشتها مسبقًا ، وتعرض أساليب الاستخدام ونتائج التعليمات ، كما هو موضح في الشكل 4-4:
الشكل 4-4 تعليمات معالجة SSI/CGI المعروضة على صفحة الويب مثال
(1) أمر #include
تتضمن بداية الصفحة ملفات مع SSI ، وتعرض محتويات ملف منفصل آخر يسمى atro.inc. هنا هو المحتوى الكامل للملف:
لاحظ أنه يجب علينا استخدام إدخالات HTML <و> لعرض أقواس الزاوية في صفحة الويب. إذا لم يتم ذلك ، فلا يمكن معاملتهم كجزء من عنصر التعليقات التوضيحية وتسبب في تنفيذ التعليمات فيه.
في صفحة SSI_CGI.Stm الرئيسية ، فإن الكود لإدراج هذا الملف في الصفحة بسيط للغاية:
<!-#include file = intro.inc->
(2) توجيهات #Config و #Fsize و #FlastMod
يعرض الجزء التالي من الصفحة حجم الملف default.asp في نفس الدليل مثل الصفحة وآخر مرة تم تعديلها. تم استخدام توجيه #Config ثلاث مرات هنا:
مرة واحدة هو مجموعة رسائل خطأ SSI.
مرة واحدة هو شكل التاريخ والوقت.
· بمجرد تعيين تنسيق حساب حجم الملف.
استخدم توجيهات #FSize و #FiASTMOD لإدراج القيمة في صفحة الويب:
<p> <div class = subhead> عبارات SSI </div>
<!-#config errmsg = خطأ معالجة SSI->
(يحدد رسالة الخطأ في حالة خطأ SSI) <br>
<!-#config errmsg = خطأ معالجة SSI-> <p>
تفاصيل ملف "default.asp": <br>
<!-#Config sizefmt = bytes->
(مجموعات fsize لإرجاع حجم البايت) <br>
<!-#Config sizefmt = bytes->
<!-#fsize file = default.asp->
إرجاع: <b> <!-#fsize file = default.asp-> bytes </b> <br>
<!-#Config timefmt = ٪ a ، ٪ b ٪ d ٪ y ٪ h: ٪ m: ٪ s->
(تعيين تنسيق لنتائج التاريخ/الوقت) <br>
<!-#Config timefmt = ٪ a ، ٪ b ٪ d ٪ y ٪ h: ٪ m: ٪ s->
<!-#flastmod file = default.asp->
إرجاع: <b> <!-#flastmod file = default.asp-> </b> <p>
(3) Command #echo
يوضح الجزء الأخير من الصفحة (يمكن رؤية جزء فقط على الشاشة) محتويات جميع رؤوس HTTP التي يمكن الوصول إليها باستخدام توجيه #Echo. الرمز في كل سطر هو نفسه ، باستثناء أن قيمة خاصية VAR تتغير. وترد قائمة كاملة بجميع القيم المسموح بها لسمة VAR في التذييل G.
<div class = subhead> http rocenbles </iv>
<!-#echo var = auth_type->
إرجاع: <b> <!-#echo var = auth_type-> </b> <br>
<!-#echo var = auth_password->
إرجاع: <b> <!-#echo var = auth_password-> </b> <br>
… إلخ…
2. استخدم توجيه #EXEC
من الصعب استخدام التوجيه #EXEC من توجيهات SSI الأخرى ، ولهذا السبب ، يتم وضعه بشكل مستقل على صفحة أخرى. يمكن الوصول إلى صفحة بدء التشغيل من كائن ASP Server و SSI توجيهات القائمة الرئيسية.
في هذه الصفحة ، حدد رابط التوجيه #الخادم باستخدام #Echo. هذه العملية تفتح صفحة توجيه SSI #EXEC
صفحة الويب التوجيهية SSI #EXEC
هذه صفحة ويب ASP ssi_exec.asp. يتم استخدام زرين لفتح صفحة .stm ، والتي تنفذ الإجراءات الموضحة في توجيه #Exec.
(1) قم بتشغيل هذا المثال على الخادم
قبل أن يعمل مثال التوجيه SSI #EXEC على الخادم ، يجب تعديل بعض التكوينات. أولاً ، تحتاج إلى إنشاء إدخال ssienableCMDDirective (اكتب dword) في سجل خادم الويب ، مع الموقع أدناه اسم المفتاح:
hkey_local_machine/system/currentControlset/services/w3svc/parameters
ثم اضبط القيمة على 1
هذا يسمح باستخدام توجيه #EXEC مع سمة CMD.
ثانياً ، يجب حظر الوصول المجهول على الدلائل التي تحتوي على ملفات .stm باستخدام توجيه #Exec. سيضطر العميل إلى تقديم تفاصيل الحساب ، والتي يجب أن تكون حسابًا مع أذونات على مستوى المسؤول. هذا هو أيضا مطلب للعمل الصافي العمل بشكل طبيعي.
قم بتنشيط تطبيق Manager لخدمات الإنترنت وحدد الدليل الذي يحتوي على ملفات .stm باستخدام توجيه #EXEC (في المثال ، هذه الملفات هي Start_CISVC.STM و STOP_CISVC.STM في دليل EXEC). ثم افتح مربع الحوار خصائص لهذا الدليل. انقر فوق الزر "تحرير" في منطقة الوصول المجهولة والتحكم في المصادقة في علامة التبويب أمان الدليل لفتح مربع حوار طرق المصادقة
لم يتم تحديد خانة الاختيار Access Access المجهولة في مربع الحوار هذا. إذا كنت لا تستخدم Internet Explorer للوصول إلى الصفحة ، فافتح خيار المصادقة الأساسي للسماح للمتصفحات غير IE بالوصول إلى الصفحة عن طريق إرسال اسم المستخدم/كلمة المرور. عند الإعداد ، يظهر تحذير حول الأمان ، انقر فوق نعم. سيتم إجبار المتصفح الآن على إظهار الحساب المناسبة وشهادة الهوية لأنه لا يمكن الوصول إلى الصفحة بشكل مجهول.
من أجل رؤية نتائج بدء الخدمة وإنهاءها ، افتح المكونات الإضافية للخدمات MMC وإنهاء خدمة الفهرسة
(2) بدء وإنهاء خدمة الفهرسة
انقر فوق الزر الموجود في صفحة عينة الويب لبدء خدمة فهرسة Microsoft.
الاسم القصير لهذه الخدمة هو CISVC ، والذي يسمى عادة خادم Microsoft Index ، وحرف CI في الاسم يمثل بالفعل مفهرس المحتوى.
عند المطالبة ، أدخل اسم المستخدم وكلمة المرور لحساب مع امتيازات المسؤول على خادم الويب. عند فتح الصفحة (start_cisvc.stm) ، ستشعر بتأخير معين لأن توجيه #EXEC يقوم بتحميل مثيل لمترجم أوامر النافذة (cmd.exe) ثم ينفذ الأمر Net Start. بمجرد بدء الخدمة (أو إذا كانت تعمل بالفعل) ، سيتم عرض بقية الصفحة
الواجهة المعروضة بعد إدخال اسم المستخدم وكلمة المرور
رمز هذه الصفحة بسيط للغاية. يمكنك أن ترى أن توجيه #Exec يحتوي على خاصية CMD ، والتي تم تعيينها على cmd.exe /c net start CISVC. يحتوي النموذج على زر إرسال للعودة إلى الصفحة السابقة:
<p> معالجة توجيه SSI: </p>
<p> <b> <!-#exec cmd = cmd.exe/c net stop cisvc-> </b> </p>
<!-#exec cmd = cmd.exe /c net stop cisvc->
<form action = ../ssi_exec.asp>
<نوع الإدخال = إرسال اسم = cmdok value =>
العودة إلى الصفحة السابقة <p>
</form>
يمكنك فتح صفحات ويب أخرى .stm من الصفحة السابقة ، مثل STOP_CISVC.STM ، لإنهاء الخدمة مرة أخرى ، والفرق الوحيد هو أن أمر الإيقاف الشبكي يستخدم بدلاً من الأمر الصافي.
...
<!-#exec cmd = cmd.exe /c net stop cisvc->
...
مشاركة: مثال يشرح كيفية استخدام سجل قطع الاتصال في ASP عندما نستخدم مكونات ASP المدمجة في ASP لبرمجة قاعدة البيانات ، نفتح عادة اتصال في بداية البرنامج النصي وإغلاقه في نهاية البرنامج النصي ، ولكن بالنسبة للبرامج النصية الكبيرة ، يكون الاتصال مفتوحًا لفترة أطول في معظم الحالات مما يجب فتحه. لذلك