تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 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

والله ولي التوفيق
الرد }}}
تم الشكر بواسطة: سعود
#2
نحمده ونصلي على رسوله الكريم

بوركت وجزيت خيرا على هذا الشرح الجميل والمفصل
الرد }}}
تم الشكر بواسطة: سعود
#3
[COLOR="#A52A2A"]السلام عليكم

جزاك الله خيرا بارك الله فيك
[/COLOR]
الرد }}}
تم الشكر بواسطة: سعود
#4
Nice . . . . .. .
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  معلومات عامة حول الجلسة session محمد الحاج خلف 4 7,228 30-08-16, 12:40 AM
آخر رد: Abu Ehab
  { معلومة} .. معلومات Request سعود 3 2,797 25-05-13, 01:26 PM
آخر رد: shaker.soft

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


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