محاضرة ASP 11: الخلاصة - تعطيك بعض الاقتراحات
الكاتب:Eve Cole
وقت التحديث:2009-05-30 19:54:51
1. تحسين صفحات وأكواد ASP
1. حاول استخدام توجيه الملف !--#include بدلاً من بنية إطار العمل.
كان أحد أنماط التصميم الأكثر شيوعًا في الماضي هو استخدام الإطار (Frame) لوضع بنية دليل موقع الويب وعرض المحتوى في إطار آخر. تعتبر فكرة التصميم هذه ضرورية، ولكنها ستؤثر على أداء موقع الويب. فيما يتعلق بالتنفيذ المحدد، يمكنك استخدام توجيه الملف !--#include لتصميم شريط التنقل، أما بالنسبة لاستخدام التضمين، فقد تم تقديم أمثلة في وقت مبكر من المحاضرة 1.
2. حاول ألا تدع الزائرين يضيعون الوقت في انتظار عدم تغيير أي شيء.
لا تستخدم هذه الطريقة للمعالجة أولاً ثم إخراج نتائج المعالجة إلى الصفحة، ونتيجة لذلك، لن تكون هناك أي تغييرات على صفحة العميل أثناء فترة المعالجة. بغض النظر عن مدى صبرك، ستشعر بالانزعاج الشديد بسبب هذا، ويجب أن تحاول المعالجة والإخراج في نفس الوقت. في الواقع، تقنية عرض الترحيل التي قدمناها في المحاضرة 8 هي نفسها تمامًا، وهذا مثال آخر.
الكود 1 (المعالجة أولاً ثم العرض):
<عرض الجدول = "100">
<% بينما لا rs.eof %>
<تر>
<td><%=rs("الاسم")%></td>
<td><%=rs("البريد الإلكتروني")%></td>
</tr>
<% rs.movenext
اذهب %>
</الجدول>
الكود 2 (العرض أثناء المعالجة ومعالجة عنصر واحد وعرض عنصر واحد):
<% بينما لا rs.eof %>
<عرض الجدول = "100" الحدود = 0>
<تر>
<td><%=rs("الاسم")%></td>
<td><%=rs("الاسم")%></td>
</tr>
</الجدول>
<% rs.movenext
اذهب %>
3. تجنب استخدام متغيرات الجلسة، خاصة بين الصفحات.
سيؤدي استخدام متغيرات الجلسة إلى تقليل الكفاءة لأنه لا يلزم إنشاء متغير لكل زائر فحسب، بل لن يتم تحرير الذاكرة التي يشغلها متغير الجلسة إلا بعد 20 دقيقة من مغادرة الزائر (إعداد المهلة الافتراضي).
4. لا تستخدم قواعد البيانات بشكل أعمى.
غالبًا ما يستخدم المبتدئون قواعد البيانات بعد أن يكون لديهم بعض الخبرة في قواعد البيانات. أولاً، يمكنهم مراجعة تجربتهم السابقة، وثانيًا، يمكنهم إظهار تقنية قواعد البيانات الخاصة بهم. اقتراحي هو أنه من الأفضل استخدام قاعدة البيانات بشكل أقل عندما يكون من الممكن استخدام طرق أخرى، حيث يستهلك الوصول إلى قاعدة البيانات دائمًا موارد الخادم. على سبيل المثال، يمكنك استخدام الملفات النصية، بالإضافة إلى ذلك، بالنسبة لبعض البيانات التي لا تتغير كثيرًا ولكن يتم استخدامها بشكل متكرر، يمكنك استخدام كائن التطبيق لتخزين البيانات في متغيرات الصفيف، ويكون الحصول على البيانات من الذاكرة أسرع بكثير من قاعدة البيانات .
5. استخدم Option Explicit لفرض إعلان المتغيرات. يمكن أن يؤدي ذلك إلى تحسين كفاءة تنفيذ البرنامج النصي ASP وتقليل احتمالية حدوث أخطاء في البرنامج النصي، ويجب أن تكون هذه عادة جيدة.
6. استخدم المتغيرات المحلية المحددة بـ Dim كلما أمكن ذلك. يعد الوصول إلى المتغيرات المحلية أسرع بكثير من الوصول إلى المتغيرات العامة أو غير المعلنة.
7. من الأفضل عدم تقاطع كود HTML مع كود ASP بشكل متكرر، ومحاولة توصيل كود ASP أو كود HTML في قطعة واحدة لتحسين كفاءة تشغيل البرنامج النصي (وهذا مشابه لمبدأ ممارسة الألعاب).
إذا كتبت نتائج الإخراج بالتنسيق <%=...%> في عدة أماكن في الكود، ففكر في دمج هذه النتائج في نتيجة واحدة وكتابتها باستخدام عبارة Response.Write، مثل المثال wuf9 في المحاضرة 2 .asp. لا تنشر تعليمات HTML البرمجية ونصوص VBScript متباعدة جدًا، وحاول كتابة نصوص HTML وVBScript في أجزاء.
8. استخدم المسارات المطلقة بشكل مناسب، إذا أمكن، تجنب استخدام المسارات النسبية واستخدم المسارات المطلقة. سيتطلب استخدام المسارات النسبية من IIS إرجاع مسار الخادم الحالي، مما يعني أن الطلبات الخاصة إلى IIS ستؤدي إلى بطء التنفيذ. ولكن بعد قولي هذا، فهو بطيء بعض الشيء، ولكن استخدام المسارات النسبية يمكن أن يعزز بشكل كبير مرونة البرنامج وقابليته للنقل. والمفتاح هو التعامل مع هذا التناقض بشكل مناسب.
9. اختبار أداء البرنامج النصي لـ ASP يمكنك استخدام بعض الأدوات لاختبار الوقت الذي يستغرقه تنفيذ البرنامج النصي لـ ASP، خاصة إذا كنت تعتقد أن هناك مشكلة في البرنامج النصي. وفيما يلي عدد قليل المقدمة، يرجى الاطلاع على التعليمات لاستخدام محدد.
(1) أداة InetMonitor من Microsoft: تُستخدم لمراقبة واختبار قدرات المعالجة لموقع الويب بأكمله. عنوان التنزيل: http://www.microsoft.com/siteserver/site/DeployAdmin/InetMonitor.htm.
(2) أداة تحليل سعة الويب من Microsoft (WCAT). تم تضمينه في القرص المضغوط لمجموعة Microsoft BackOffice Resource Kit، أو يمكنك تنزيله من موقع Microsoft على الويب.
(3) مكون ملفات تعريف ASP الخاص بـ Softwing، عنوان التنزيل: http://www.softwing.com/iisdev/profiler/.
2. تحسين أداء قاعدة البيانات
1. استخدم برنامج تشغيل يربط قاعدة البيانات مباشرةً بـ OLE DB، وليس عبر ODBC. بخصوص هذه النقطة، راجع المحاضرة 6 لمزيد من التفاصيل.
2. حاول استخدام المؤشر الافتراضي للنظام (CursorType) وأنواع القفل (LockType)، وتجنب بشكل خاص استخدام المؤشرات الديناميكية.
3. استخدام الإجراءات المخزنة بشكل مناسب. تعد الإجراءات المخزنة أكثر كفاءة من سلاسل الاستعلام، وأكثر ملاءمة للاستخدام، ولها العديد من الفوائد.
4. تحرير الموارد في الوقت المناسب، مثل تحرير العناصر في أقرب وقت ممكن، وإغلاق الاتصالات، وما إلى ذلك.
5. اختبار أداء قاعدة البيانات (1) لاختبار سرعة استعلامات SQL، يمكنك استخدام Microsoft Isql/w (Microsoft SQL Server 6.5) أو Microsoft Query Analyzer (Microsoft SQL Server 7.0)، والذي يمكنه عرض كل خطوة من خطوات التنفيذ والوقت المطلوب.
(2) يمكن لملف تعريف Microsoft SQL Server 7.0 تتبع ومراقبة الاستعلامات التي يتم تنفيذها على خادم قاعدة البيانات. على سبيل المثال، يمكنك تعقب أبطأ الاستعلامات قيد التشغيل أو الاستعلامات التي تتسبب غالبًا في حدوث حالة توقف تام لقاعدة البيانات.
3. عدة أسئلة أخرى
1. منصات تطوير ASP الاختيارية الأخرى، نصوص ASP التي تحدثنا عنها سابقًا تم إنشاؤها جميعًا على منصات سلسلة Microsoft. بالإضافة إلى ذلك، يمكنك أيضًا اختيار Chili!ASP لتشغيل ASP. وتتمثل ميزته البارزة في إمكانية تشغيله على منصات Windows NT وUnix يمكن استخدام كل شيء. عنوان الصفحة الرئيسية: http://www.chilisoft.com/.
2. حول <% @language=VBScript%>
في جميع نصوص ASP النصية التي واجهناها من قبل، فإن السطر الأول من التعليمات البرمجية في البداية هو بشكل أساسي <% @Language = VBScript%>، مما يشير إلى أن لغة البرمجة النصية التي يستخدمها البرنامج النصي ASP في هذه الصفحة هي في الواقع VBScript ASP يمكن أيضًا استخدام لغات البرمجة النصية الأخرى مثل Jscript وPerlScript.
في ASP، يمكنك تعيين موقع الويب بأكمله لاستخدام لغة برمجة نصية واحدة (مثل VbScript، وهو أيضًا الإعداد الافتراضي لـ IIS)، واستخدام لغة برمجة نصية أخرى (مثل Jscript) لصفحة معينة، أو حتى استخدامها لـ تستخدم إحدى الوظائف الموجودة على الصفحة لغة برمجة نصية أخرى. دعونا نعطي مثالا أدناه:
(1) كيفية ضبط لغة البرنامج النصي التي يستخدمها موقع الويب بأكمله.
قم بتشغيل ISM (Internet Service Manager) ← انقر بزر الماوس الأيمن على اسم موقع الويب، وحدد خصائص ← حدد علامة تبويب الدليل الرئيسي ← انقر فوق زر التكوين ← حدد علامة التبويب خيارات التطبيق في مربع حوار تكوين التطبيق ← أدخل VbScript أو Jscript في لغة ASP الافتراضية مربع النص هذا كل شيء.
(2) wuf99.asp الروتينية
<% @Language = PerlScript %>
<أتش تي أم أل>
<الرئيس><العنوان>وداعا</العنوان></الرأس>
<الجسم>
<%
$الاستجابة->الكتابة(
sprintf ("عنوان IP = %s"،
$طلب->متغيرات الخادم(
"REMOTE_ADDR" )->item ) );
%>
<لغة البرنامج النصي = "JScript" RUNAT = "الخادم">
وظيفة قل وداعا ()
{
الاستجابة.اكتب ("وداعا!")
}
</النص>
<لغة البرنامج النصي = "VBScript" RUNAT = "الخادم">
لأني = 1 إلى 3
قل وداعا ()
التالي
</النص>
</الجسم>
</أتش تي أم أل>
ملاحظة: يمكنك استخدام VBSript أو Jscript بحرية في ASP، لأن Microsoft تدعم كليهما (IE يدعم Netscape's JavaScript ويطوره إلى Jscript، لكن NetScape لا يدعم VBScript. ربما يرجع هذا إلى أن NetScape جاء أولاً. أحد أسباب مشاركة Microsoft في الدعاوى القضائية)، ولكن لاستخدام PerlScript، يجب عليك تثبيت بيئة لغة برمجة نصية إضافية لـ Perl. يوصى باستخدام ActivePerl وهو مناسب جدًا للتثبيت على نظام التشغيل Windows NT. عنوان التنزيل: http://www.newhua.com.cn/activeperl.htm.
3. مثال جيد لتصميم ASP هناك العديد من أمثلة ASP على الإنترنت، وتتركز بشكل أساسي في كتب الضيوف وغرف الدردشة والنشرات الإخبارية وBBS وما إلى ذلك. نوصي هنا بنظام BBS مصمم باستخدام ASP - BBS مجاني، عنوان التنزيل هو: http : //free_bbs.soim.net/.
في هذه المرحلة، تقترب سلسلة محاضرات ASP من نهايتها، ولكن لا يزال هناك العديد من المشكلات التي لم تتم تغطيتها، مثل Windows 2000 وIIS5.0، ومشكلات أمان ASP، والمفاهيم الأخرى المتعلقة بـ IIS أو NT (Windows DNA ، MTS، MSMQ) انتظر... إذا كانت هناك فرصة، يمكننا أن نلتقي هنا مرة أخرى في المستقبل، هذه المرة، وداعًا!