مجموعة StaticObjects للجلسة
تحتوي مجموعة StaticObjects على كافة الكائنات التي تم إنشاؤها باستخدام علامة <OBJECT> في نطاق كائن الجلسة. يمكن استخدام هذه المجموعة لتحديد قيمة خاصية معينة لكائن ما، أو للتكرار عبر المجموعة والحصول على كافة الخصائص لكافة الكائنات.
قواعد اللغة
معلمات
Session.StaticObjects(Key).
مفتاح
السمة المراد استردادها.
ملاحظة: استخدم بنية التحكم في الحلقة للتكرار على الكلمات الأساسية في مجموعة StaticObjects. انظر المثال أدناه.
<%
خافت objprop
لكل objprop في Session.StaticObjects
Response.write(objproperty & " : " & Session.StaticObjects(objprop) & "<BR>")
التالي
%>
مجموعة محتويات الجلسة
تتضمن مجموعة Session.contents كافة العناصر التي تم إنشاؤها لهذه الجلسة دون استخدام العلامة <OBJECT>. يمكن استخدام هذه المجموعة لتحديد قيمة عنصر جلسة محدد أو للتكرار عبر المجموعة واسترداد قائمة بجميع العناصر الموجودة في الجلسة.
قواعد اللغة
معلمة
Session.Contents(Key).
مفتاح
اسم العقار المراد الحصول عليه.
ملاحظة: يمكنك استخدام بنية التحكم في التكرار للتكرار عبر الكلمات الأساسية في مجموعة المحتويات. يوضح المثال التالي هذه العملية.
<%
خافتة
لكل جلسة في Session.Contents
Response.write(sessitem & " : " & Session.Contents(sessitem) & "<BR>")
التالي
%>
صفحة التعليمات البرمجية
تحدد الخاصية CodePage صفحة الرموز التي سيتم استخدامها لعرض المحتوى الديناميكي.
قواعد اللغة
معلمة
Session.CodePage(=Codepage).
صفحة الرموز
هذا عدد صحيح غير موقّع يمثل صفحة الرموز الصالحة للنظام الذي يعمل عليه مشغل البرمجة النصية لـ ASP.
صفحة رموز التعليقات التوضيحية عبارة عن مجموعة أحرف يمكن أن تتضمن أرقامًا وعلامات ترقيم وأحرفًا أخرى. يمكن استخدام صفحات الرموز المختلفة للغات والمناطق المختلفة. على سبيل المثال، يتم استخدام صفحة الرموز ANSI 1252 للغة الإنجليزية الأمريكية ومعظم اللغات الأوروبية؛ ويتم استخدام صفحة الرموز 932 الخاصة بـ OEM للغة Kanji اليابانية.
صفحة الرموز هي جدول أحرف يقوم بتعيين الأحرف إلى قيم أحادية البايت أو متعددة البايت. تشترك العديد من صفحات الرموز في الأحرف بين 0x00 و0x7F في مجموعة أحرف ASCII.
يتخلى عن
تقوم طريقة Abandon بحذف كافة الكائنات المخزنة في كائن الجلسة وتحرير مصدر هذه الكائنات. إذا لم تقم باستدعاء أسلوب Abandon بشكل صريح، فسيقوم الخادم بحذف هذه الكائنات بمجرد انتهاء مهلة الجلسة.
قواعد اللغة
الجلسة.
التخلي عن الشرح
عند استدعاء أسلوب Abandon، سيتم حذف كائن الجلسة الحالي بالترتيب، ولكن لن يتم حذف الكائن فعليًا حتى تتم معالجة كافة أوامر البرنامج النصي في الصفحة الحالية. وهذا يعني أنه عند استدعاء Abandon، يمكن الوصول إلى المتغيرات المخزنة في كائن الجلسة على الصفحة الحالية، ولكن ليس على صفحات الويب اللاحقة.
على سبيل المثال، في البرنامج النصي التالي، يطبع السطر الثالث قيمة ماري. وذلك لأنه لا يتم حذف كائن الجلسة قبل انتهاء الخادم من معالجة البرنامج النصي.
<%
جلسة.التخلي
الجلسة ("MyName") = "ماري"
الاستجابة.الكتابة (جلسة ("MyName"))
%>
إذا قمت بالوصول إلى متغير MyName في صفحات الويب اللاحقة، فستجد أنه فارغ. وذلك لأنه عند انتهاء معالجة الصفحة التي تحتوي على المثال السابق، تم حذف MyName مع كائن الجلسة السابقة.
عند التخلي عن الجلسة وفتح صفحات الويب اللاحقة، يقوم الخادم بإنشاء كائن جلسة جديد. يمكنك تخزين المتغيرات والكائنات في كائن الجلسة الجديد.
مثال يقوم المثال التالي بإصدار حالة جلسة العمل عندما ينتهي الخادم من معالجة الصفحة الحالية.
<% جلسة.التخلي %>
LCID
تحدد سمة LCID معرف الموقع المستخدم لعرض المحتوى الديناميكي.
قواعد اللغة
معلمة
Session.LCID(=LCID).
إل سي آي دي
تحديد الموقع الفعال.
تعليق
يحدد LCID معرف الموقع، وهو اختصار قياسي دولي يحدد بشكل فريد موقعًا محددًا بواسطة نظام معين.
معرف الجلسة
تقوم الخاصية SessionID بإرجاع معرف جلسة المستخدم. عند إنشاء جلسة، يقوم الخادم بإنشاء معرف منفصل لكل جلسة. يتم إرجاع معرف الجلسة كنوع بيانات طويل.
قواعد اللغة
Session.SessionID
ملاحظة لا تستخدم خاصية SessionID لإنشاء مفاتيح أساسية لتطبيقات قواعد البيانات. وذلك لأنه في حالة إعادة تشغيل خادم الويب، قد تكون بعض قيم SessionID هي نفسها التي كانت عليها قبل إنهاء الخادم. يمكنك استخدام نوع بيانات عمود متزايد تلقائيًا بدلاً من ذلك، مثل IDENTITY في Microsoft® SQL Server، أو COUNTER في Microsoft® Access.
Session_OnStart
يحدث حدث Session_OnStart عندما يقوم الخادم بإنشاء جلسة عمل جديدة. يقوم الخادم بمعالجة البرنامج النصي قبل تنفيذ الصفحة المطلوبة. يعد حدث Session_OnStart هو أفضل وقت لتعيين متغيرات الجلسة لأنه يتم تعيينها قبل الوصول إلى أي صفحة. يمكن استخدام جميع الكائنات المضمنة (التطبيق، وObjectContext، والطلب، والاستجابة، والخادم، والجلسة) والإشارة إليها في البرنامج النصي للحدث Session_OnStart.
قواعد اللغة
<SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server> Sub Session_OnStart .End Sub 'بواسطة aspxuexi.com
</SCRIPT>
المعلمات
لغة البرمجة
يحدد لغة البرمجة النصية المستخدمة لكتابة الحدث. يمكن أن تكون أي لغة تدعم البرمجة النصية، مثل VBScript أو JScript. إذا كانت لديك أحداث متعددة تستخدم نفس لغة البرمجة النصية، فيمكنك تنظيمها ضمن مجموعة من علامات <SCRIPT>.
مثال على الرغم من أن كائن الجلسة سيستمر إذا كان الحدث Session_OnStart يحتوي على استدعاء أسلوب إعادة توجيه أو إنهاء، فسيتوقف الخادم عن معالجة الملف Global.asa ويقوم بتشغيل البرنامج النصي في الملف الذي أدى إلى تشغيل الحدث Session_OnStart.
على سبيل المثال، للتأكد من أن المستخدم يبدأ دائمًا جلسة عند فتح صفحة ويب معينة، يمكنك استدعاء أسلوب إعادة التوجيه في حدث Session_OnStart. عندما يدخل المستخدم إلى التطبيق، يقوم الخادم بإنشاء جلسة للمستخدم ويتعامل مع البرنامج النصي للحدث Session_OnStart. يمكنك تضمين برنامج نصي في هذا الحدث للتحقق مما إذا كانت الصفحة التي يفتحها المستخدم هي صفحة بدء تشغيل، وإذا لم تكن كذلك، فاطلب من المستخدم استدعاء الأسلوب Response.Redirect لتشغيل الصفحة. ويظهر العرض التوضيحي في المثال التالي.
<SCRIPT RUNAT=لغة الخادم=VBScript>
SubSession_OnStart
' تأكد من أن المستخدمين الجدد يبدأون من الجانب الصحيح
"صفحة تطبيق ASP" بواسطة aspxuexi.com
استبدل القيمة المعطاة لـ startPage أدناه
"مع المسار الظاهري للتطبيق الخاص بك
' صفحة البداية
= "/MyApp/StartHere.asp"
currentPage = Request.ServerVariables("SCRIPT_NAME")
' قم بإجراء مقارنة غير حساسة لحالة الأحرف، وإذا كانت
'غير متطابقة، قم بإرسال المستخدم إلى صفحة البداية.
إذا strcomp(currentPage,startPage,1) ثم Response.Redirect(startPage) ينتهي ifEnd Sub</SCRIPT>
لن يعمل المثال أعلاه إلا في المتصفحات التي تدعم ملفات تعريف الارتباط. نظرًا لأن المتصفحات التي لا تدعم ملفات تعريف الارتباط لا يمكنها إرجاع ملف تعريف الارتباط SessionID، يقوم الخادم بإنشاء جلسة جديدة في كل مرة يطلب فيها المستخدم صفحة ويب. بهذه الطريقة، لكل طلب، يقوم الخادم بمعالجة البرنامج النصي Session_OnStart ويعيد توجيه المستخدم إلى صفحة بدء التشغيل. إذا كنت تستخدم البرنامج النصي أدناه، فمن المستحسن وضع إشعار على صفحة بدء التشغيل لإخبار المستخدمين بأن الموقع يتطلب متصفحًا يدعم ملفات تعريف الارتباط.
ملاحظة: يرجى ملاحظة أنه لن يتم تنفيذ أي برنامج نصي لحدث Session_OnStart بعد طريقة إعادة التوجيه. لذلك، يجب استدعاء أسلوب إعادة التوجيه في نهاية البرنامج النصي للحدث. ويظهر العرض التوضيحي في المثال التالي.
<لغة البرنامج النصي=VBScript RUNAT=الخادم>
SubSession_OnStart
"البرنامج النصي لتهيئة الجلسة
" بواسطة aspxuexi.com
الاستجابة.إعادة التوجيه "http://server/app/StartHere.asp"
نهاية الفرعية
</النص>
في المثال أعلاه، تقوم طريقة إعادة التوجيه بإخفاء كل النص المعروض للعميل أثناء تنفيذ البرنامج النصي لتهيئة الجلسة.
Session_OnEnd
يقع الحدث Session_OnEnd عند التخلي عن الجلسة أو انتهاء مهلتها. من بين الكائنات المضمنة في الخادم، تتوفر فقط كائنات التطبيق والخادم وكائنات الجلسة.
قواعد اللغة
>
Sub
Session_OnEnd
لغة البرمجة
يحدد لغة البرمجة النصية المستخدمة لكتابة الحدث. يمكن أن تكون أي لغة تدعم البرمجة النصية، مثل VBScript أو JScript. إذا كانت لديك أحداث متعددة تستخدم نفس لغة البرمجة النصية، فيمكنك تنظيمها ضمن مجموعة من علامات <SCRIPT>.
ملاحظة: لا يمكن استدعاء الأسلوب MapPath في البرنامج النصي Session_OnEnd.
نفذ الوقت
تحدد خاصية المهلة فترة المهلة بالدقائق لكائن جلسة العمل الخاص بالتطبيق. إذا لم يقم المستخدم بتحديث الصفحة أو طلبها خلال هذه المهلة، فسيتم إنهاء الجلسة.
قواعد اللغة
معلمة
Session.Timeout[=nMinutes].
دقائق
يحدد عدد الدقائق التي ستكون الجلسة بعدها خاملة حتى يقوم الخادم بإنهاء الجلسة تلقائيًا. القيمة الافتراضية هي 15 دقيقة.