موصى به: بيان حلقة SCRIPT ASP تعلمك هذه المقالة بيان حلقة Script ASP: تتمثل مميزة بيئة صفحة الخادم الديناميكية ASP في أنه مكتوب من خلال لغة نصية واحدة أو عدة لغات. يمكن اعتبار لغة البرمجة النصية نسخة مبسطة من لغة البرمجة. من السهل التعلم والمسيرة ، مما يوفر راحة كبيرة لمصممي المواقع الديناميكية. يمكن القول أن الاستخدام السليم للغة البرمجة النصية يرتبط ارتباطًا مباشرًا بـ ASP
يوليو كلايد (الأصلي)
المؤلف هو نجمة مجتمع Microsoft China في فبراير
في البرمجة ، غالبًا ما تكون هناك حاجة إلى المعاملات. المعاملة المزعومة هي سلسلة من العمليات التي يجب أن تكون ناجحة. طالما فشل عملية واحدة ، يجب أيضًا إلغاء جميع الخطوات الأخرى. على سبيل المثال ، عند تطوير نظام قرص ثابت للشبكة باستخدام ASP ، يحتاج جزء تسجيل المستخدم إلى القيام به:
سجل معلومات المستخدم في قاعدة البيانات
افتح مجلد للمستخدم للتخزين
تهيئة سجل تشغيل المستخدم
يجب استخدام المعاملات في هذه الخطوات الثلاث ، وإلا إذا فشلت عملية القرص ولم يتم إلغاء تشغيل قاعدة البيانات ، فسوف يتسبب ذلك في قيام مستخدمين ميتين فقط بتسجيل الدخول ولكن لا يمكنهم العمل.
نظرًا لتاريخ التطوير الخاص لنظام قاعدة البيانات ، يتم دعم كل شيء من الوصول إلى DB2 بالمعاملات. لذلك ، يمكن التعبير عن الخطوات المذكورة أعلاه على النحو التالي:
عند استئناف الخطأ التالي
الخطوة الأولى:
سجل معلومات المستخدم في قاعدة البيانات ضمن بيئة المعاملات
إذا أخطأ بعد ذلك
أغلق الاتصال
يترك
آخر
الخطوة 2: إنشاء مجلد
إذا أخطأ بعد ذلك
راجع الخطوة الأولى من تشغيل قاعدة البيانات والخروج
آخر
الخطوة 3: تشغيل قاعدة بيانات السجل في بيئة المعاملة
إذا أخطأ بعد ذلك
راجع الخطوة الأولى وحذف المجلد الذي تم إنشاؤه في الخطوة الثانية
يترك
إنهاء إذا
إنهاء إذا
إنهاء إذا
إرسال المعاملة الأولى لعملية قاعدة البيانات
إرسال المعاملات للخطوة الثانية من تشغيل قاعدة البيانات
نهاية
كل خطوة تحتاج إلى الحكم. إذا فشلت ، فمن الضروري أن تراجع الخطوات المتعددة السابقة يدويًا ، مما يجعل البرنامج معقدًا ويصعب فهمه. إذا قمت بتحديث البرنامج في المستقبل وأضفت خطوات أخرى ، فستحتاج أيضًا إلى عش المزيد من الطبقات إذا ... Else ... إنهاء إذا جعلت عملية البرنامج أكثر تعقيدًا.
الحل الصحيح هو استخدام وظيفة التحكم في المعاملة من ASP. يمكن لـ IIS التحكم في أنظمة دعم المعاملات المتعددة من خلال الاتصال بخدمات MTS. عندما يرسل البرنامج إشارة فاشلة ، ستنطلق جميع أنظمة دعم المعاملات تلقائيًا ، حتى لو تم الانتهاء من العملية رسميًا ؛ كما يوفر طريقة التراجع اليدوي المريحة للعمليات التي لا تدعم المعاملات. يتم إعادة كتابة المثال أعلاه باستخدام وظيفة التحكم في معاملة ASP على النحو التالي:
<٪@ المعاملة = مطلوب ٪>
عند استئناف الخطأ التالي
تعيين conn = server.createBject (adodb.connection)
conn.open ......
conn.execute insert ....
conn.close
تعيين conn = لا شيء
تعيين conn2 = server.createObject (adodb.connection)
conn2.open ...
conn2.execute إدراج ....
conn2.close
تعيين conn2 = لا شيء
set fso = server.createObject (scripting.filessystemObject)
fso.createfolder ...
إذا أخطأ بعد ذلك
ObjectContext.setabort 'أخطر جميع المكونات التي تدعم المعاملات لتراجع وتشغيل رمز التراجع اليدوي
آخر
ObjectContext.setComplete
إنهاء إذا
تعيين fso = لا شيء
الفرعية ontransactionabort
استجابة. خطأ خطأ
fso.deletefile server.mappath (A.TXT) 'FSO's Manual Rollack Delete
نهاية الفرعية
الفرعية ontrancactionCommit
استجابة. تكمل المهمة بنجاح
نهاية الفرعية
٪>
يشير <٪@ Transaction = مطلوب ٪> في السطر الأول إلى أن هذه الصفحة من ملف ASP تتطلب دعم المعاملة MTS. تتم كتابة كل عملية في الوسط بترتيب عادي دون النظر في مشكلة التراجع. في نهاية البرنامج ، حدد ما إذا كان هناك أي خطأ. إذا كان الأمر كذلك ، اتصل بطريقة setAbort لـ ObjectContext ، ستقوم IIS بإخطار جميع مكونات دعم المعاملات بالتراجع (بشكل أساسي قاعدة البيانات) من خلال خدمة MTS ، وتشغيل عمليات التراجع الفرعية التي لا تدعم المعاملات ؛ في حالة حدوث أي خطأ ، اتصل بالطريقة setComplete لـ ObjectContext ، وقم بتشغيل Sub OnTransactionCommit لعرض الرسالة الناجحة.
لا يحتاج برنامج ASP بأكمله إلى كتابة رمز غير ضروري لأخطاء الحكم وعمليات التراجع. يحتاج فقط إلى إصدار أحكام في النهاية. حتى إذا تمت إضافة خطوات متعددة في المستقبل ، فإنه يجب التحكم فيه فقط في Sub ontransactionabort. إنه مريح للغاية. يمكن للمبرمجين التركيز على كتابة العمليات بدلاً من كتابة رمز تصحيح الخطأ.
في الواقع ، يوفر ASP أيضًا العديد من الوظائف المفيدة ، في انتظار استخدامنا. لا تعتقد أن ASP سيكون لها بالتأكيد وظائف ضعيفة عند استخدام لغة البرمجة النصية.
مشاركة: كيفية تنفيذ مصغرة خالية من المكونات ASP هناك العديد من مكونات ASP التي تولد الصور المصغرة على الإنترنت. إذا لم تدعم المساحة الافتراضية تسجيل مكونات جديدة ، فقد تشعر أن موقع الويب الخاص بك يفقد لونه. Xinqing ليست موهوبة ، ومدمجة مع الموارد عبر الإنترنت ، وكتبت برنامج Thumbnail الخالي من المكونات للرجوع إليه فقط. دعونا نلقي نظرة على الأساسيات أولاً. بادئ ذي بدء ، نعلم أن الكود التالي يتم عرضه على الصفحة: IMG SRC = PIC.GIF Border = 0 عرض