س: لماذا تُرجع قيمة RecordCount لمجموعة السجلات الخاصة بي دائمًا -1؟
الإجابة: يجب عليك استخدام هذا الوضع لفتح مجموعة السجلات للوصول إلى قاعدة البيانات:
rec.openstrSQL,conn,1,1
من بينها، strSQL هو عبارة SQL لتشغيل قاعدة البيانات؛ conn هو متغير الاتصال للاتصال بقاعدة البيانات.
سؤال: لقد كتبت الكثير من التعليقات في برنامج ASP النصي، فهل سيؤثر ذلك على سرعة معالجة الخادم لملفات ASP؟
الإجابة: بعد الاختبار بواسطة موظفين فنيين أجانب، سينخفض الأداء العام لملفات ASP التي تحتوي على الكثير من التعليقات بنسبة 0.1% فقط، مما يعني أنها لن تؤثر بشكل أساسي على أداء الخادم.
س: هل أحتاج إلى استخدامه في بداية كل ملف ASP؟
الإجابة: إذا كانت لغة البرمجة النصية التي تستخدمها هي VBScript، فيرجى محاولة عدم استخدام هذا البيان، وإلا سينخفض الأداء الإجمالي للبرنامج بنسبة 1.2% تقريبًا، ومع ذلك، إذا كنت لا تستخدم لغة VBScript، فيرجى استخدام هذا البيان.
س: هل أحتاج إلى استخدام OptionExplicit في كل ملف ASP؟
الإجابة: من الأفضل أن تفعل ذلك، لأن هذا يمكن أن يقلل من فرصة حدوث أخطاء في برنامجك ويحسن الأداء العام بنسبة 9.8% تقريبًا.
سؤال: ما هي الميزات الجديدة لـ ASP3.0 التي ظهرت مؤخرًا مع IIS5.0؟
الإجابة: في الواقع، لا توجد تغييرات جديدة، ولكن تمت إضافة طريقتين جديدتين لكائن الخادم:
Server.Transfer وServer.Excute، وكائن جديد ASPError. للحصول على تعليمات استخدام محددة، يرجى الرجوع إلى موقع Microsoft الإلكتروني www.microsoft.com
سؤال: لماذا تظهر لي أخطاء عند استخدام Response.Redirect؟
الإجابة: السبب الأكثر شيوعًا هو أنك قمت بتعديل رأس HTTP بعد كتابة الصفحة، والحل هو الكتابة في بداية الصفحة
سؤال: يبدو أن طريقة إعادة التوجيه لا يمكنها إعادة التوجيه إلا إلى نفس الإطار. هل يمكن إعادة توجيهها إلى إطارات أخرى؟
الجواب: نعم، تحتاج إلى إضافة هذا:. ثم عندما تستخدم
عند استدعاء أسلوب إعادة التوجيه، ستتم إعادة توجيهه إلى الإطار المسمى FrameName.
سؤال: لماذا تظهر الجلسات غالبًا مفقودة في صفحات ASP الخاصة بالنوافذ الجديدة التي أفتحها باستخدام الأسلوب Window.open()؟
الإجابة: يحدث هذا الموقف غالبًا في IE4.x الخاص بشركة Microsoft، ولكن تم حل هذا الخطأ في IE5.x. لذلك، لكي تكون متوافقًا مع كافة المتصفحات، يمكنك استخدام طرق مثل test.asp?name=xxx لتمرير المعلمات بين النوافذ. هذا التأثير أفضل. فقط انتبه إلى أنه إذا كانت المعلمات التي تم تمريرها مهمة جدًا، فيرجى عدم القيام بذلك استخدمه بنص واضح، وإلا فإنه سيؤدي بسهولة إلى مشكلات أمنية.
سؤال: غالبًا ما يُلاحظ أن هناك طريقتين للاتصال بقاعدة البيانات، DSN وDSN-LESS، ماذا تعنيان؟ هل هناك أي فرق؟
الإجابة: DSN هو اختصار لـ DataSourceName باللغة الإنجليزية. طريقة DSN هي طريقة الاتصال بمصدر البيانات. يمكن تعيين مصدر البيانات هذا في ODBCDataSources في لوحة التحكم، ثم استخدامه على النحو التالي:
Conn.OpenDSN=Test;UID=المسؤول;PWD=;
الاختبار هو اسم مصدر البيانات الذي قمت بتعيينه بنفسك. لاحظ أنه يجب عليك استخدام UID وPWD في نفس الوقت، وإلا سيحدث خطأ.
وبالمثل، فإن DSN-LESS هي طريقة اتصال غير مصدر البيانات.
Conn.OpenDriver={MicrosoftAccessDriver
(*.mdb)};Dbq=/somepath/mydb.mdb;Uid=Admin;Pwd=;
في نفس بيئة الأجهزة، تتمتع طريقة DSN-LESS بأداء أعلى من طريقة DSN، ومع ذلك، بمجرد تسريب كود مصدر ASP من قبل الآخرين بسبب مشكلات أمنية معينة، سيتم تسريب حساب قاعدة البيانات وكلمة المرور، لذلك توجد هاتان الطريقتان. هي إيجابيات وسلبيات.
سؤال: هل هناك أي فرق بين استخدام أسلوب AddNew الخاص بـ ADO في ASP واستخدام عبارة Insertinto... مباشرةً؟ أي طريقة هي الأفضل؟
الإجابة: يقوم أسلوب AddNew الخاص بـ ADO بتغليف عبارة Insertinto فقط، لذلك، عند التشغيل على كمية كبيرة من البيانات، سيؤدي استخدام عبارات SQL مباشرةً إلى تسريع الوصول إلى البيانات بشكل كبير لأنه يقلل من وقت ترجمة ADO. على الرغم من أنه ليس من السهل قبول عبارات SQL مثل AddNew والعبارات الأخرى، إلا أنه من المهم جدًا تعلم بعض عبارات SQL شائعة الاستخدام في برمجة قواعد البيانات.
سؤال: لماذا يحدث خطأ عندما أقوم بإدراج هذه الجملة (Let'sgonow!) في قاعدة البيانات؟
الإجابة: نظرًا لأن معظم قواعد البيانات (Access وMSSQLServer) تستخدم علامات الاقتباس المفردة كمحددات، فلا يمكنك إدراج علامات الاقتباس المفردة مباشرة في قاعدة البيانات.
MyData=Replace(MyData,','',1) ثم احفظه في قاعدة البيانات
1. سؤال: هل ASP لغة برمجة؟
الإجابة: ASP ليست لغة برمجة، ولكنها بيئة تطوير. يوفر ASP بيئة لتنفيذ التعليمات من جانب الخادم ويستخدم رموزًا خاصة () لتمييز HTML عن الأوامر التي يجب ترجمتها بواسطة الخادم قبل إرسالها إلى العميل. تتضمن التعليمات التي يمكنه تنفيذها لغة HTML، وMicrosoftVBScript، وMicrosoftJscript، وما إلى ذلك، حتى يتمكن من إنشاء تطبيقات ويب قوية.
2. سؤال: هل يمكن استخدام خدمة PWS لاستضافة مواقع ويب متعددة على خادم ويب؟
الإجابة: يمكن استيعاب موقع ويب واحد فقط على PWS. لاستضافة مواقع ويب متعددة على نفس الكمبيوتر، تحتاج إلى استخدام Windows NT Server أو Windows 2000 Server/Professional وIIS.
3. سؤال: كيفية استخدام كائنات ASP الستة المضمنة؟
الإجابة: يوفر ASP العديد من الكائنات المضمنة، والتي يمكن الوصول إليها مباشرة واستخدامها في التعليمات دون إنشائها، وتشمل هذه الكائنات الستة بشكل أساسي: كائن الطلب، وكائن الاستجابة، وكائن الجلسة، وكائن التطبيق، وكائن الخادم، وكائن ملفات تعريف الارتباط، وكائن الخادم من بين هذه الكائنات. يمكن لستة كائنات تحميل مكونات أخرى، والتي يمكنها توسيع وظائف ASP.
تبدأ دورة حياة الكائن الذي تم إنشاؤه باستخدام Server.CreateObject عندما يتم إنشاؤه وتنتهي عندما ينتهي برنامج صفحة الويب الذي يوجد فيه. إذا كنت تريد استخدام الكائن عبر صفحات الويب، فيمكنك استخدام كائن الجلسة لتسجيل الكائن الذي تم إنشاؤه بواسطة Server.CreateObject.
4. سؤال: لماذا يحدث الخطأ التالي عند استخدام Response.Redirect: عنوان خاطئ، تمت كتابة عنوان HTTP في متصفح العميل، ويجب إجراء أي تعديل على عنوان HTTP قبل كتابة محتوى الصفحة؟
الإجابة: يمكن لـ Response.Redirect نقل صفحة ويب إلى صفحة ويب أخرى. بنية بناء الجملة المستخدمة هي كما يلي: عنوان URL الخاص بـ Response.Redirect، حيث يمكن أن يكون عنوان URL عنوانًا نسبيًا أو عنوانًا مطلقًا، ولكنه يُستخدم في IIS4.0 وIIS4.0. IIS5.0 هناك فرق.
يجب إجراء نقل صفحات الويب في IIS4.0 قبل إخراج أي بيانات إلى متصفح العميل، وإلا سيحدث خطأ. تتضمن البيانات المزعومة هنا علامات HTML، مثل:، وما إلى ذلك، والتي تم تحسينها في IIS5.0. ويتم تمكين المخزن المؤقت افتراضيًا في IIS5.0، ولم تعد تحدث مثل هذه الأخطاء.
توجد سمة مخزن مؤقت في كائن الاستجابة. يمكن لهذه السمة تحديد ما إذا كان موقع الويب سيرسل البيانات إلى العميل مباشرة بعد معالجة ASP، ولكن يجب أيضًا تعيين هذه السمة قبل إرسال أي بيانات إلى العميل.
لكي تكون في الجانب الآمن، بغض النظر عن نظام التشغيل ASP المستخدم، قم بتعيين المخزن المؤقت ليتم فتحه في بداية الصفحة حتى لا يحدث مثل هذا الخطأ.
5. سؤال: هل للمخرجات المخزنة مؤقتًا أي تأثير على نقل صفحات الويب؟
الإجابة: في صفحات الويب الكبيرة نسبيًا، قد يكون هناك بعض التأخير في ظهور الجزء الأول في المتصفح، ولكن تحميل صفحة الويب بأكملها يكون أسرع من دون تخزين مؤقت.
6. سؤال: هل يمكن استخدام مجموعة Request.QueryString للاستعلام عن قيمة السلسلة في حالة عدم إرسال أي نموذج؟
الإجابة: يتم استخدام كائن الطلب لقراءة بيانات المتصفح، بالإضافة إلى قراءة محتويات حقول النموذج، ويمكن استخدامه أيضًا لقراءة المعلمات المرفقة بعنوان URL الطلب ليس هناك فرق. يمكنك استخدام مجموعة Request.QueryString لإرسال نموذج باستخدام طريقة get، أو اتباع رابط بسلسلة استعلام إضافية للاستعلام عن جميع القيم الموجودة في السلسلة.
7. سؤال: لقد كتبت الكثير من التعليقات في برنامج ASP النصي، فهل سيؤثر ذلك على سرعة معالجة الخادم لملفات ASP؟
الإجابة: أثناء عملية كتابة البرنامج، من الجيد إبداء التعليقات. بعد اختباره من قبل فنيين أجانب، فإن الأداء العام لملفات ASP التي تحتوي على عدد كبير جدًا من التعليقات سينخفض فقط بنسبة 0.1%، مما يعني أنه في التطبيقات الفعلية، لن يشعر أداء الخادم بالانخفاض.
8. سؤال: هل أحتاج إلى استخدامه في بداية كل ملف ASP؟
الإجابة: يتم استخدام التعليمات البرمجية المستخدمة في بداية كل ملف ASP لإعلام الخادم بأن VBScript يُستخدم الآن لكتابة البرنامج. ومع ذلك، نظرًا لأن لغة البرمجة الافتراضية لـ ASP هي VBScript، فيمكن تشغيلها بشكل طبيعي حتى إذا تم تجاهل التعليمات البرمجية ومع ذلك، إذا كانت لغة البرمجة النصية للبرنامج هي JavaScript، فأنت بحاجة إلى تحديد لغة البرمجة النصية المستخدمة في السطر الأول من البرنامج.
9. سؤال: هل أحتاج إلى استخدام OptionExplicit في كل ملف ASP؟ الإجابة: في التطبيقات العملية، أصبح مفهوم متغيرات VBScript غير واضح، مما يسمح باستخدام المتغيرات مباشرة دون استخدام Dim للإعلان عن المتغيرات، ومع ذلك، هذه ليست عادة جيدة ويمكن أن تسبب أخطاء في البرنامج بسهولة لأنه قد يتم تعريف المتغير بشكل متكرر. يمكننا استخدام عبارة OptionExplicit في البرنامج، بحيث أنه عند استخدام متغير، يجب الإعلان عنه أولاً. إذا تم استخدام متغير غير معلن، فسوف يحدث خطأ في البرنامج أثناء وقت التشغيل.
لقد أثبتت الممارسة أن استخدام OptionExplicit في ملفات ASP يمكن أن يقلل من فرصة حدوث أخطاء في البرنامج ويحسن الأداء العام بشكل كبير.
10. سؤال: ما هي الإجراءات الأمنية عند تشغيل ملفات ASP؟
الإجابة: يوفر ASP آلية جيدة لحماية التعليمات البرمجية، حيث يتم تنفيذ كافة رموز ASP على جانب الخادم ويتم إرجاع نتائج تنفيذ رمز العميل فقط. ومع ذلك، لا يزال من غير المستبعد أن يقوم الأشخاص الضارون بإتلاف خادم الويب عمدًا، لذا يجب عليك إيلاء المزيد من الاهتمام للمشكلات الأمنية عند كتابة ملفات ASP.
على الرغم من أن الملفات المستوردة في ASP تستخدم inc كملحق، إلا أنه لا يزال من المستحسن استخدام ASP كملحق للملف المستورد. عند تشغيل هذه الرموز على خادم ويب بآلية أمان ضعيفة، ما عليك سوى إدخال عنوان الملف المستورد في شريط العناوين (inc هو الامتداد)، ويمكنك تصفح محتوى الملف المستورد، وذلك لأنه قيد التشغيل WebServer، إذا لم يكن هناك، عند تحديد مكتبة الارتباط الديناميكي التي تقوم بتحليل نوع معين (مثل inc)، يتم عرض الملف في وضع التعليمات البرمجية المصدر.
بالإضافة إلى ذلك، لا تضع ملف قاعدة البيانات داخل بنية موقع الويب، وبهذه الطريقة، عندما يحصل شخص ضار على مسار قاعدة البيانات، يمكنه بسهولة الحصول على قاعدة البيانات ثم تغيير محتوى قاعدة البيانات بشكل تعسفي. الطريقة الأفضل هي إنشاء اسم مصدر بيانات DSN (DateSourceName) لقاعدة البيانات. يتم تخزين المعلومات حول الاتصال بموفر البيانات المحدد في DSN، بما في ذلك: الموقع الفعلي لقاعدة البيانات، ونوع برنامج التشغيل المستخدم للوصول إلى قاعدة البيانات. ، الوصول يمكن الوصول إلى أي معلمات أخرى يتطلبها برنامج تشغيل قاعدة البيانات مباشرة من DSN أثناء الوصول إلى قاعدة البيانات.
11. سؤال: ما هي القضايا التي ينبغي أخذها في الاعتبار عند تقييم نظام إدارة قاعدة بيانات الويب؟
الإجابة: عند تقييم نظام إدارة قاعدة بيانات الويب، يجب مراعاة ثلاث مشكلات: مشكلات المستخدمين المتعددين؛ يجب أن تكون قاعدة بيانات الويب المنشأة علائقية ومشكلات أمان قاعدة البيانات. 12. سؤال: ما هو ADO وكيف يعمل على قاعدة البيانات؟
12. سؤال: ما هو ADO وكيف يعمل على قاعدة البيانات؟
الإجابة: الاسم الكامل لـ ADO هو ActiveXDataObject (كائن بيانات ActiveX)، وهو عبارة عن مجموعة من الكائنات المتخصصة المُحسّنة للوصول إلى قواعد البيانات، وهو يوفر حلاً كاملاً لقاعدة بيانات الموقع لـ ASP، ويعمل على جانب الخادم ويوفر صفحة رئيسية تحتوي على معلومات قاعدة البيانات يتيح المحتوى، من خلال تنفيذ أوامر SQL، للمستخدمين إدخال المعلومات وتحديثها وحذفها في قاعدة بيانات الموقع في شاشة المتصفح.
يتضمن ADO بشكل أساسي ثلاثة كائنات: الاتصال ومجموعة السجلات والأوامر، ووظائفها الرئيسية هي كما يلي:
· كائن الاتصال: مسؤول عن فتح أو الاتصال بملفات قاعدة البيانات؛
· كائن مجموعة السجلات: الوصول إلى محتويات قاعدة البيانات؛
· كائن الأمر: يصدر تعليمات استعلام الإجراء إلى قاعدة البيانات وينفذ إجراءات SQL Server المخزنة.
13. سؤال: ما الفرق بين استخدام كائن Recordset وكائن Command للوصول إلى قاعدة البيانات؟
الإجابة: سيتطلب كائن Recordset من قاعدة البيانات نقل جميع البيانات عندما تكون كمية البيانات كبيرة، سيؤدي ذلك إلى ازدحام الشبكة وزيادة التحميل على خادم قاعدة البيانات، وبالتالي سيتم تقليل كفاءة التنفيذ الإجمالية.
باستخدام كائن الأمر لاستدعاء عبارات SQL مباشرة، يتم تنفيذ العمليات التي يتم إجراؤها في خادم قاعدة البيانات، والذي يتمتع بوضوح بكفاءة تنفيذ عالية. على وجه الخصوص، يمكن أن يؤدي تنفيذ الإجراء المخزن الذي تم إنشاؤه على جانب الخادم إلى تقليل حركة مرور الشبكة، بالإضافة إلى ذلك، نظرًا لأنه يتم إجراء تحليل بناء الجملة مسبقًا، يمكن تحسين كفاءة التنفيذ الإجمالية.
14. سؤال: هل من الضروري إنشاء كائن اتصال لكل كائن مجموعة سجلات؟
الإجابة: يمكنك استخدام نفس كائن الاتصال لكائنات مجموعة السجلات المختلفة في نفس الوقت لحفظ الموارد.
15. سؤال: ما هو نظام إدارة قواعد البيانات (DBMS)؟
الإجابة: من أجل ضمان أمان واتساق البيانات المخزنة في قاعدة البيانات، يجب أن تحتوي قاعدة البيانات على مجموعة من البرامج لإكمال مهام الإدارة المقابلة. هذه المجموعة من البرامج هي نظام إدارة قاعدة البيانات، أو DBMS باختصار يختلف باختلاف النظام، ولكن بشكل عام يجب أن يشمل الجوانب التالية:
وظيفة وصف قاعدة البيانات: تحديد البنية المنطقية العالمية والبنية المنطقية المحلية وكائنات قاعدة البيانات المختلفة الأخرى لقاعدة البيانات؛
وظائف إدارة قواعد البيانات: بما في ذلك تكوين النظام وإدارته، والوصول إلى البيانات وإدارة التحديث، وإدارة سلامة البيانات، وإدارة أمن البيانات؛
وظائف الاستعلام عن قاعدة البيانات ومعالجتها: تتضمن هذه الوظيفة استرجاع قاعدة البيانات وتعديلها؛
وظائف صيانة قاعدة البيانات: بما في ذلك إدارة استيراد وتصدير البيانات، وصيانة هيكل قاعدة البيانات، ووظائف استعادة البيانات ومراقبة الأداء.
من أجل تحسين كفاءة تطوير أنظمة قواعد البيانات، توفر أنظمة قواعد البيانات الحديثة أيضًا أدوات متنوعة لدعم تطوير التطبيقات بالإضافة إلى نظام إدارة قواعد البيانات.
16. سؤال: ما هي أنظمة إدارة قواعد بيانات الويب الشائعة حاليًا؟
الإجابة: تتضمن أنظمة إدارة قواعد بيانات الويب الشائعة حاليًا Microsoft SQL Server وOracle وDB2 وSybase، وتستخدم المؤسسات الصغيرة Access في الغالب.
17. سؤال: ما الفرق بين استخدام أسلوب AddNew الخاص بـ ADO واستخدام عبارة Insertinto... في ASP مباشرةً؟ أي طريقة هي الأفضل؟
الإجابة: تقوم طريقة AddNew الخاصة بـ ADO بتغليف عبارة Insertinto فقط، لذلك، عند التشغيل على كمية كبيرة من البيانات، سيؤدي استخدام عبارات SQL مباشرةً إلى تسريع الوصول إلى البيانات بشكل كبير لأنها تقلل من وقت ترجمة ADO بسبب عمليات SQL التي يتم إجراؤها بواسطة العبارة يتم إجراؤها مباشرة في خادم قاعدة البيانات، وهو ما له مزايا كبيرة خاصة عندما تكون كمية البيانات كبيرة.
18. سؤال: لماذا أحصل على خطأ عندما أستخدم بيان سجل الإدراج القياسي Insertintobooks(name,email)values(kitty,[email protected]) في ASP؟
الإجابة: SQL (StructuredQueryLanguage/Structured Query Language) هي لغة استعلام بيانات طورتها شركة IBM في السبعينيات، وقد أصبحت الآن المعيار للغات استعلام قواعد البيانات العلائقية. عبارات SQL هي لغة برمجة تعتمد على اللغة الإنجليزية ويمكن استخدامها لإضافة قواعد البيانات وإدارتها والوصول إليها.
على الرغم من أنه يمكنك استخدام علامات الاقتباس المزدوجة عند إضافة سلسلة في عبارة SQL، إلا أن علامات الاقتباس المفردة مطلوبة في ASP للتنفيذ العادي. لذلك يجب كتابتها في قيم الكتب (الاسم والبريد الإلكتروني) ('kitty'،'[email protected]').
19. سؤال: ما هي عناصر تحكم ActiveX؟ أين يمكنني الحصول على عناصر تحكم ActiveX هذه؟
الإجابة: تعد عناصر تحكم Microsoft ActiveX عبارة عن مكونات برامج قابلة لإعادة الاستخدام تم تطويرها بواسطة موفري البرامج. بالإضافة إلى كائنات ASP المضمنة، يمكن أيضًا استخدام عناصر تحكم ActiveX المثبتة في ASP، مما يوفر الكثير من وقت التطوير الثمين. في الواقع، هناك أيضًا العديد من عناصر تحكم ActiveX المضمنة في ASP التي يمكن استخدامها.
باستخدام عناصر تحكم ActiveX، يمكن إضافة وظائف خاصة بسرعة إلى تطبيقات الويب وأدوات التطوير. على سبيل المثال، استخدم كائن AdRotator لإنشاء لوحة تمرير إعلانية، واستخدم كائن FileSystemObject للوصول إلى الملفات، واستخدم كائن Marquee لتنفيذ نص التمرير.
يوجد الآن أكثر من 1000 عنصر تحكم ActiveX تجاري يمكن تطويره باستخدام لغات برمجة مختلفة، مثل C وC++ وما إلى ذلك، بالإضافة إلى بيئة تطوير VisualJava من Microsoft MicrosoftVisualJ++. بمجرد تطوير عنصر تحكم ActiveX، يمكن للمصممين والمطورين استخدامه كمكون تم تجميعه مسبقًا لتطوير برامج العميل. باستخدام عناصر تحكم ActiveX بهذه الطريقة، لا يحتاج المستخدمون إلى معرفة كيفية تطوير هذه المكونات، وفي كثير من الحالات، لا يحتاجون حتى إلى برمجة أنفسهم لإكمال تصميم صفحات الويب أو التطبيقات.
يوجد حاليًا أكثر من 1000 عنصر تحكم تجاري مقدم من مطوري برامج الطرف الثالث. يقوم Microsoft ActiveX Component Gallery (ActiveXComponentGallery) بتخزين المعلومات ذات الصلة والارتباطات ذات الصلة، والتي تشير إلى عناصر تحكم ActiveX المتنوعة التي توفرها Microsoft ومطورو الجهات الخارجية. في معرض مكونات Microsoft ActiveX (ActiveXComponentGallery)، يمكنك العثور على قائمة بالشركات التي تقوم بتطوير عناصر تحكم ActiveX المحسنة عبر الإنترنت.
20. سؤال: لماذا لا يمكن العثور على قيمة موقع البداية في النموذج في قاعدة البيانات باستخدام عبارة strStartPort=(Request.Form(catmenu_0)؟
الإجابة: وذلك لأن قيمة موقع البداية التي تم الحصول عليها قد تحتوي على مسافات، على سبيل المثال، المعنى الأصلي هو Hangzhou. ومع ذلك، نظرًا لوجود مسافات، قد تكون القيمة التي حصل عليها برنامج ASP هي Hangzhou، ولا يوجد سوى سجلات بالطبع لا يمكن العثور على Hangzhou في قاعدة البيانات، والحل هو استخدام وظيفة Trim لإزالة كافة المسافات في طرفي السلسلة.
strStartPort=TRIM(Request.Form(catmenu_0))
21. سؤال: في ASP، عندما تنتهي دورة حياة المتغير، ما عدد الطرق الموجودة للاحتفاظ بمحتوى المتغير؟
الإجابة: أي عملية تؤدي إلى نهاية صفحة الويب، مثل الضغط على زر تحديث المتصفح، أو إغلاق المتصفح ثم إعادة فتحه، ستتسبب في نهاية دورة حياة المتغير.
إذا كنت تريد الاحتفاظ بمحتويات المتغيرات عندما تنتهي صفحة الويب من التنفيذ لاستخدامها في التنفيذ التالي، فيمكنك استخدام كائن التطبيق لتحقيق ذلك. على سبيل المثال، يمكنك استخدام كائن التطبيق لإنشاء عداد يقوم بإحصاء زيارات موقع الويب.
كائن الجلسة هو نفس كائن التطبيق، ويمكنه تخزين محتويات المتغير في نهاية صفحة الويب، ومع ذلك، على عكس كائن التطبيق، فإن كل اتصال هو كائن جلسة مستقل مشاركة كائن تطبيق واحد، ولكن سيكون لكل مستخدم عبر الإنترنت كائن الجلسة الخاص به.
يمكن أن يساعدنا كائن التطبيق وكائن الجلسة في تسجيل المعلومات من جانب الخادم، بينما سيستخدم كائن ملفات تعريف الارتباط وظيفة ملفات تعريف الارتباط التي يوفرها المتصفح لتسجيل المعلومات من جانب العميل. هناك شيء واحد يجب ملاحظته وهو أن ملفات تعريف الارتباط هي معلومات مسجلة في المتصفح، لذا فإن الوصول إلى البيانات ليس بسيطًا مثل الوصول إلى كائنات ASP الأخرى (يتم تخزين المعلومات على جانب الخادم، فقط عندما يبدأ المتصفح في تصفح الخادم). صفحة ويب معينة، ولم يقم الخادم بتنزيل أي بيانات إلى المتصفح قبل أن يتمكن المتصفح من تبادل بيانات ملفات تعريف الارتباط مع الخادم.
22. السؤال: ماذا يجب عليك فعله بعد استخدام الشيء؟
الإجابة: بعد استخدام الكائن، استخدم أولاً طريقة الإغلاق لتحرير موارد النظام التي يشغلها الكائن، ثم قم بتعيين قيمة الكائن على لا شيء لتحرير الذاكرة التي يشغلها الكائن، وإلا فإن كفاءة تشغيل موقع خدمة الويب ستكون منخفضة تم تقليلها أو حتى تعطلها بسبب وجود عدد كبير جدًا من الكائنات، والعبارات المقابلة هي كما يلي:
23. سؤال: ما عدد الطرق المتوفرة لقراءة حقول نموذج HTML في ملفات ASP؟
الإجابة: بالإضافة إلى قراءة المعلمات المرفقة بعنوان URL، يمكن لكائن الطلب أيضًا قراءة محتويات حقول نموذج HTML، وتكون بنية بناء الجملة شائعة الاستخدام كما يلي:
يمكن أن تقبل الطريقة طريقتين للإرسال: Get أو Post وهي طريقة تسمح بنقل كميات كبيرة من البيانات. ستقوم طريقة Get بإرفاق البيانات المراد إرسالها إلى نهاية عنوان URL ثم إرسالها إلى الخادم معًا لذا فإن كمية البيانات المرسلة ستكون محدودة، لكن كفاءة التنفيذ أفضل من طريقة النشر.
يمكن إرسال البيانات إلى الخادم باستخدام طريقة Get أو Post، والطرق المقابلة لتلقي البيانات باستخدام كائن الطلب هي كما يلي:
الحصول على: Request.QueryString (اسم الحقل)، ويمكن أيضًا كتابته كطلب (اسم الحقل)
النشر: نموذج الطلب (اسم الحقل)، ويمكن كتابته أيضًا كطلب (اسم الحقل)
24. سؤال: كيفية تحسين كفاءة استخدام مجموعة الطلبات؟
الإجابة: عند استخدام مجموعة الطلبات، فهي أبطأ بكثير من الوصول إلى متغير محلي لأنها تتضمن سلسلة من عمليات البحث عن المجموعات ذات الصلة. لذلك، إذا كنت تخطط لاستخدام قيمة في مجموعة الطلبات عدة مرات على الصفحة، فيجب أن تفكر في تخزينها كمتغير محلي.
25. سؤال: يمكن استخدام كل من VBScript وJscript في صفحات ASP. هل من الجيد استخدام محرك نصي مختلط؟
الإجابة: على الرغم من أنه يمكن استخدام كل من VBScript وJScript في صفحات ASP. ولكن ليس من المستحسن استخدام JScript وVBScript في نفس الوقت وفي نفس الصفحة. نظرًا لأنه يجب على الخادم إنشاء مثيل ومحاولة تخزين محركي البرامج النصية (بدلاً من محرك واحد) مؤقتًا، فإن هذا يؤدي إلى زيادة الحمل على النظام إلى حد ما. ولذلك، لأسباب تتعلق بالأداء، يجب عدم خلط محركات البرامج النصية المتعددة في نفس الصفحة.
26. سؤال: عندما نقوم بإنشاء ملف ASP وهو مطابق للتركيب، إذا أدخلنا العنوان التالي من خلال المتصفح، أو فتحناه من خلال مدير الموارد وتصفحنا: c:/inetpub/wwwroot/a.asp، غير صالح للعمل سيظهر خطأ يطالب بأن الأذونات غير صحيحة أو لا يمكن الوصول إلى الملف. لماذا لا يعمل ملف ASP بشكل طبيعي؟
الإجابة: وذلك لأن ملف ASP يتطلب أولاً أن يتمتع الموقع بسمات التنفيذ (البرنامج النصي)؛ ثم يتطلب إدخال العنوان بتنسيق URL بدلاً من تنسيق DOS. نحتاج إلى تثبيت النظام الأساسي لخدمة الويب وبدء تشغيله تأكد من تخزين ملف ASP في الدليل الظاهري لخادم الويب، ويمكنك التصفح بتنسيق HTTP في شريط عنوان المتصفح، أدخل: http://Web site name (أو عنوان IP الخاص بالموقع)/ASP اسم الملف، ثم اضغط على Enter للتصفح، وتظهر نتيجة الخادم الذي ينفذ ملف ASP في المتصفح.
27. سؤال: ما هو ASP.NET؟ ما علاقتها بـ ASP؟
الإجابة: ActiveServerPages (ASP، صفحات الخادم النشطة) هي بيئة برمجة بسيطة نسبيًا حيث يمكن خلط HTML ولغات البرمجة النصية وعدد صغير من المكونات لإنشاء تطبيقات إنترنت من جانب الخادم؛
ASP.NET هي بيئة برمجة قوية تروج لها Microsoft ويمكنها استخدام مجموعة متنوعة من اللغات عالية المستوى مثل C# ولغات البرمجة النصية وHTML وXML وXSL وما إلى ذلك لإنشاء تطبيقات قائمة على الشبكة. يستخدم ASP.NET لغة C# كلغة موجهة للكائنات، ومن نواحٍ عديدة، ستصبح لغة C# لغة Microsoft مشابهة لـ Java. تعد لغة C# واحدة من أهم الميزات في تطوير ASP.NET، وستقوم Microsoft بتطوير لغة C# لتصبح منافسًا قويًا لجافا. يعد هذا أيضًا جزءًا مهمًا من إطار عمل Microsoft .Net. أعتقد أن لغة C# هي أداة Microsoft الرئيسية للتغلب على منافسيها في مجال لغات البرمجة.
يتفوق ASP.NET على برامج ASP من حيث اتجاه الكائن، والاتصال بقاعدة البيانات، وتطبيقات الموقع واسعة النطاق، وما إلى ذلك. كما يوفر ASP.NET المزيد من الميزات الجديدة في جوانب أخرى، مثل: التخزين المؤقت المدمج للكائنات والتخزين المؤقت لنتائج الصفحة؛ دعم XML المدمج، يمكن استخدامه للمعالجة البسيطة لمجموعات بيانات XML، مما يوفر تحكمًا تفاعليًا أكثر اكتمالاً، وما إلى ذلك.
لا يزال ASP.NET مغلقًا تمامًا في نظام التشغيل Microsoft لتحقيق إمكانات ASP.NET حقًا، عليك استخدام C# أو vb.net. ستصبح هاتان اللغتان لغتي البرمجة النصية الأساسيتين لمعيار ASP.NET.