في تصحيح الأخطاء في البرنامج ، في بعض الأحيان أحتاج إلى معرفة عدد متغيرات الجلسة المستخدمة وما هي قيمتها؟ نظرًا لأن كائن الجلسة يوفر مجموعة تسمى المحتويات ، يمكننا تحقيق الهدف من خلال ... كل حلقة
قاتمة strname ، iloop
لكل strname في الجلسة
Response.write strname & - & session.contents (strname) و [br]
التالي
في ظل الظروف العادية ، يمكن أن يعمل الرمز أعلاه بشكل جيد. ولكن عندما يكون متغير الجلسة كائنًا أو صفيفًا ، تكون نتائج الطباعة غير صحيحة. بهذه الطريقة نقوم بتعديل الرمز على النحو التالي:
أولاً انظر كم عدد متغيرات الجلسة المستخدمة؟
Response.write هناك & session.contents.count & _
متغيرات الجلسة <p>
قاتمة strname ، iloop
استخدم لكل جلسة فحص
إذا كان متغير الجلسة عبارة عن صفيف؟
إذا isarray (جلسة (strname) ثم
كل عنصر من عناصر طباعة دائرية
لـ Iloop = lbound (الجلسة (strname)) إلى Ubound (الجلسة (strname))
Response.write strname & (& iloop &) - & _
الجلسة (strname) (Iloop) & <br>
التالي
آخر
في حالات أخرى ، ما عليك سوى طباعة قيمة المتغير ببساطة
Response.write strname & - & session.contents (strname) & <br>
إنهاء إذا
التالي
في بعض الأحيان لا تستطيع متغيرات الجلسة العمل ، لماذا؟ هناك العديد من الاحتمالات: أولاً ، إذا كان العميل لا يسمح للعمل ملفات تعريف الارتباط ، فسوف تفشل الجلسة. لأن الجلسة تعتمد على ملفات تعريف الارتباط. ثانياً ، الجلسة لديها إعداد وقت الفشل. الإعدادات الافتراضية 20 دقيقة. يمكنك تعديله على هذا النحو: Web Diretory-> Properties-> Dirtual Directory-> إعدادات التطبيق-> التكوين-> خيارات التطبيق-> وقت الجلسة أو اكتب هذا الرمز: Session.tim eout = 60. ثالثًا ، ترتبط الجلسة بتطبيق الويب المحدد. إذا كان المستخدم يتصفح من /products/default.asp to /jobs/default.asp ، فقد يتسبب ذلك أيضًا في إعادة إنشاء الجلسة. كيفية مسح متغير الجلسة الذي لم يعد يحتاج ، ولكن لا يجعل الجلسة تفشل؟ في ASP3.0: Session.Contents.Remove يمكن مسح أسماء المتغيرات لإزالة متغير. في ASP2.0: تعيين الجلسة (الاسم المتغير) = خالية لإزالة المتغيرات. في ASP3.0 ، يمكن للجلسة. ماذا يعني الجزء العلوي من صفحة ASP؟ يستخدم IIS تقنية تسمى تتبع الجلسة لضمان توفر كل متغير جلسة في كل صفحة. عندما يزور المستخدم صفحة معينة من ASP ، سيقوم IIS أولاً بإعداد كل متغير جلسة لهذه الصفحة ، والتي سيكون لها بالطبع تأثيرات أداء. (تكلفة استخدام متغير الجلسة مرتفعة دائمًا!) إذا كان لديك 100 صفحة و 5 صفحات فقط يتم استخدامها للجلسة ، ثم للأداء الكلي ، تحتاج فقط إلى تعيينه على تلك الصفحات الخمسة:
<٪@ enlabesessionState = true ٪>
يتم تعيين صفحات أخرى على:
<٪@ enlabesessionState = false ٪>