![]() |
|
معلومات عامة حول الجلسة session - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم برمجة وتطوير المواقع (http://vb4arb.com/vb/forumdisplay.php?fid=51) +--- قسم : قسم ASP.NET (http://vb4arb.com/vb/forumdisplay.php?fid=52) +---- قسم : قسم مقالات ASP.NET (http://vb4arb.com/vb/forumdisplay.php?fid=54) +---- الموضوع : معلومات عامة حول الجلسة session (/showthread.php?tid=7908) |
معلومات عامة حول الجلسة session - محمد الحاج خلف - 11-03-13 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; PHP كود : Session["MySession"] = "Hello World"; PHP كود : string id = Session.SessionID; PHP كود : Session.Timeout = 30; PHP كود : string value = Session["MySession"].ToString(); PHP كود : string mode = Session.Mode.ToString(); PHP كود : bool is_cookieless = Session.IsCookieless; والله ولي التوفيق
معلومات عامة حول الجلسة session - ربيع - 11-03-13 نحمده ونصلي على رسوله الكريم بوركت وجزيت خيرا على هذا الشرح الجميل والمفصل معلومات عامة حول الجلسة session - Sajad - 11-03-13 [COLOR="#A52A2A"]السلام عليكم جزاك الله خيرا بارك الله فيك [/COLOR] معلومات عامة حول الجلسة session - shaker.soft - 25-05-13 Nice . . . . .. . |