تقييم الموضوع :
  • 1 أصوات - بمعدل 1
  • 1
  • 2
  • 3
  • 4
  • 5
معلومات عامة حول الجلسة session
#1
Session



تستخدم السيشن ( الجلسة ) لتخزين بيانات المستخدم على السيرفر لفترة زمنية محددة ( افتراضيا 20 دقيقة ) , لكل سيشن ID فريد يميزها عن غيرها حتى لو كان لهم نفس الاسم فلا مشكلة , يقوم السيرفر بربط طلبات مستعرض معين مع السيشن الخاص به عن طريق هذا الـ ID حيث يتم أرساله واستقباله عبر cookie , أو عبر الـ URL إذا كانت الخاصية cookieless تساوي true كما سنرى لاحقا.
والسيشن تنشأ لكل مستخدم في بداية تصفحه للموقع ويتم إطلاق الحدث Session_OnStart , وعند انتهاء زمن السيشن يتم إطلاق الحدث Session_OnEnd

من أهم خصائص الـ session :

Timeout : تحديد الفترة الزمنية للإحتفاظ بالسيشن مقدرة بالدقائق ( افتراضيا 20 دقيقة ) ويتم إعادة البدء بحساب الزمن من الصفر عند كل عملية وصول للسيشن ( قراءة أو كتابة ) , أكبر قيمة يمكن أن تأخذها هذه الخاصية هي 525600 وهي تعادل سنة واحدة .

Mode : وهي تحدد طريقة تخزين السيشن على السيرفر وتأخذ أحد القيم التالية :

1- InProc : وهو الخيار الافتراضي , حيث يتم تخزين السيشن في ذاكرة السيرفر ( رام ) وهو نمط التخزين الوحيد الذي يدعم الحدث Session_OnEnd

2- StateServer : يتم تخزين السيشن في بروسيس ( process ) مستقلة عن بروسيس التطبيق , وبالتالي تضمن الاحتفاظ بقيمها في حالة إعادة تشغيل التطبيق ( restart ) كما تسمح بالوصول للقيم من أكثر من web service واحدة

3- SQLServer : يتم تخزين السيشن في قاعدة بيانات SQL Server , وبالتالي تضمن الاحتفاظ بقيمها في حالة إعادة تشغيل التطبيق ( restart ) كما تسمح بالوصول للقيم من أكثر من web service واحدة

4- Custom : حيث نحدد أسلوب خاص بنا لتخزين السيشن , يتطلب تحضيرات عديدة كتعريف الاتصال وطريقة التخزين وغيره ...

5- Off : إلغاء تفعيل السيشن

Cookieless : تحدد أسلوب تبادل معلومات السيشن بين السيرفر والمتصفح وتأخذ أحد القيم التالية :

AutoDetect : يقوم بتحديد هل المتصفح يدعم استخدام الـ cookie فإن كان يدعمها فيتم استخدام الـ cookie وإلا فإنه يتم تمرير معلومات السيشن عبر الـ URL

UseCookies : الإصرار على استخدام الكوكيز بغض النظر إن كانت مدعومة من المتصفح أم لا , وهو الخيار الافتراضي

UseUri : استخدام الـ URL لتبادل معلومات السيشن حتى إن كان المتصفح يدم الكوكيز

True : منع استخدام الكوكيز الخاصين بالسيشن وبالتالي استخدام الـURL

False : السماح باستخدام الكوكيز الخاصين بالسيشن

IsCookieless : تعيد True إذا كانت معلومات السيشن مضمنة في الـ URL , وإلا فإنها تعيد
False

قسم عملي :

في البداية نقوم باستدعاء فضاء العناوين التالي


PHP كود :
using System.Web.SessionState

إنشاء سيشن اسمها MySession وقيمتها Hello World

PHP كود :
Session["MySession"] = "Hello World"

الحصول على ID السيشن السابقة

PHP كود :
string id Session.SessionID

تحديد زمن بقاء السيشن بـ 30 دقيقة

PHP كود :
Session.Timeout 30

قراءة المعلومات المخزنة بالسيشن

PHP كود :
string value Session["MySession"].ToString(); 

معرفة أسلوب تخزين السيشن على السيرفر

PHP كود :
string mode Session.Mode.ToString(); 

معرفة قيمة الخاصية IsCookieless

PHP كود :
bool is_cookieless Session.IsCookieless

والله ولي التوفيق

عش كل لحظة وكأنها آخر لحظة في حياتك عش بحبك لله عز وجل عش بالتطبع بأخلاق الرسول عليه الصلاة والسلام عش بالأمل ، عش بالكفاح عش بالصبر عش بالحب ، وقدر قيمة الحياةShy
الرد }}}
#2
يعطيك العافية

على

الشرح الرائع
الرد }}}
تم الشكر بواسطة: محمد الحاج خلف
#3
Wink 
thanksssss
الرد }}}
تم الشكر بواسطة:
#4
شرح ومعلومات اكتر من رائعه شكرا جزيلا
الرد }}}
تم الشكر بواسطة:
#5
 الله يعطيك العافية  

أضيف معلومه  :  
هو   الاستخدام الاكثر شيوعا  للــــــ Session  بيكون مخصصة  للــــ Current User
و بيسمح لك  تعمل Roles   خاصه  بكل User
Abu Ehab : Microsoft Partner  & Systems Developer
 Youtube   Facebook    Twitter   
الرد }}}
تم الشكر بواسطة: الكاتب , ibraheam


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  معلومات عامة حول الجلسة session محمد الحاج خلف 3 2,841 25-05-13, 01:27 PM
آخر رد: shaker.soft
  { معلومة} .. معلومات Request سعود 3 2,778 25-05-13, 01:26 PM
آخر رد: shaker.soft

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 2 ) ضيف كريم