Latest web development tutorials

كائن جلسة ASP

يستخدم الكائن جلسة لتخزين المعلومات عن جلسة عمل مستخدم (الدورة)، أو تغيير جلسة عمل المستخدم (الدورة) الإعداد.


كائن جلسة

عند تشغيل تطبيق على جهاز الكمبيوتر الخاص بك، يمكنك فتحه، والقيام ببعض التغييرات، ثم قم بإغلاق عليه. انها مثل محادثة (الدورة). يعرف الكمبيوتر من أنت. ومن الواضح أن تقوم بفتح وإغلاق التطبيقات متى. ومع ذلك، على شبكة الإنترنت، والسؤال الذي يطرح نفسه: لا يمكن الاستمرار لأن عنوان HTTP، ملقم ويب لا يعرفون من أنت وماذا فعلتم.

ASP عن طريق إنشاء كعكة فريدة من نوعها لكل مستخدم على حل هذه المشكلة. يتم نقل ارتباط لجهاز الكمبيوتر الخاص بالمستخدم، والذي يحتوي على معلومات تعريفية للمستخدم. وهذا ما يسمى واجهة الكائن Session.

يستخدم الكائن جلسة لتخزين المعلومات عن جلسة عمل مستخدم (الدورة)، أو تغيير جلسة عمل المستخدم (الدورة) الإعداد.

مخازن متغير يتم تخزين المعلومات لمستخدم واحد في موضوع الدورة، ومتاحة للتطبيقات في كافة الصفحات. تخزينها في متغير جلسة إعلامية غير عادة اسم المعرف والمعلمات. خادم يخلق الدورة الجديدة لكل مستخدم جديد، وتنسحب من الكائن Session عند انتهاء الدورة.


جلسة متى تبدأ؟

تبدأ الدورة:

  • يطلب مستخدم جديد ملف ASP، وملف المراجع Global.asa Session_OnStart روتين
  • قيمة المخزنة في الدورة متغير
  • يطلب مستخدم ملف ASP، وGlobal.asa استخدام <كائن> العلامة التي كتبها نطاق جلسة لمثيل كائن

والدورة تنتهي؟

إذا كان المستخدم لا تطلب أو تحديث صفحة ضمن الوقت المحدد في التطبيق، سوف تنتهي الدورة. الافتراضي هو 20 دقيقة.

إذا كنت ترغب في تعيين الفاصل الزمني للمهلة لأقصر أو أطول من القيمة الافتراضية، يمكنك استخدام خاصيةمهلة.

يحدد المثال التالي الفاصل الزمني للمهلة 5 دقائق:

<%
Session.Timeout=5
%>

لينهي الجلسة على الفور، يرجى استخدام الأسلوبالتخلي عن:

<%
Session.Abandon
%>

ملاحظة: عند استخدام جلسة والمشكلة الرئيسية هي أنه عندما تنتهي.نحن لا نعرف طلب المستخدم الأخير هو الطلب الأخير. ولذلك، فإننا لا نعرف الدورة جعل "البقاء على قيد الحياة" منذ فترة طويلة. لجلسة مجانية لانتظار طويل جدا وسوف نفاد موارد الخادم. ومع ذلك، إذا تمت إزالة قبل انتهاء الدورة، فإن المستخدم يجب أن تبدأ مرارا وتكرارا، وذلك لأن الخادم وحذف جميع المعلومات. يمكن العثور على الحق في الفاصل الزمني للمهلة يكون من الصعب!

معلومات سريةنصيحة: في متغيرجلسة لتخزين كمية صغيرة فقط من البيانات!


متغيرات جلسة لتخزين واسترجاع

كائن جلسة هو أكبر ميزة هي متغير لتخزين صفحات لاحقة لقراءة، ومجموعة تطبيقه واسع جدا.

يتم تعيين الأمثلة التالية من الدورة "دونالد داك" المخصصةلاسم المستخدممتغيراسمه،و "50" لمتغيرالعمرمسمى الدورة:

<%
Session("username")="Donald Duck"
Session("age")=50
%>

عندما يتم تخزين قيمة في متغير جلسة، يمكن أن يكون تطبيقات ASP لاستخدام أي صفحة:

Welcome <%Response.Write(Session("username"))%>

النتائج فوق هذا الخط من عوائد كود "مرحبا بكم دونالد داك".

يمكنك أيضا تخزين المعلمات المستخدم في الكائن Session، ومن ثم الوصول إلى هذه المعايير لتحديد ما يتم إرجاع الصفحة إلى المستخدم.

ويقدم المثال التالي أنه إذا كان المستخدم يستخدم شاشة ذات دقة منخفضة، يتم إرجاع إصدار نص عادي من الصفحة:

<%If Session("screenres")="low" Then%>
This is the text version of the page
<%Else%>
This is the multimedia version of the page
<%End If%>


إزالة المتغيرات الدورة

جمع محتويات يحتوي على كافة المتغيرات الدورة.

متغيرات جلسة يمكن إزالتها عن طريق أسلوب إزالة.

في المثال التالي، إذا كان "عمر" من قيمة متغير جلسة هو أقل من 18، ثم إزالة الدورة متغير "بيع":

<%
If Session.Contents("age")<18 then
Session.Contents.Remove("sale")
End If
%>

لإزالة كل من متغير جلسة، استخدام أساليب RemoveAll:

<%
Session.Contents.RemoveAll()
%>


جمع اجتياز المحتويات

جمع محتويات يحتوي على كافة المتغيرات الدورة. يمكنك اجتياز جمع المحتويات، لمعرفة ما الذي يخزن المتغيرات:

<%
Session("username")="Donald Duck"
Session("age")=50

dim i
For Each i in Session.Contents
Response.Write(i & "<br>")
Next
%>

النتائج:

username
age

إذا كنت لا تعرف عدد من البنود في جمع المحتويات، يمكنك استخدام الخاصية Count:

<%
dim i
dim j
j=Session.Contents.Count
Response.Write("Session variables: " & j)
For i=1 to j
Response.Write(Session.Contents(i) & "<br>")
Next
%>

النتائج:

Session variables: 2
Donald Duck
50


جمع اجتياز StaticObjects

يمكنك اجتياز جمع StaticObjects، لمعرفة قيم كل الكائنات المخزنة في الكائن Session:

<%
dim i
For Each i in Session.StaticObjects
Response.Write(i & "<br>")
Next
%>