النتائج 1 إلى 4 من 4

الموضوع: درس عن ال Session

  1. #1

    درس عن ال Session



    السلام عليكم

    السيشن هو متغير يحفظ في ذاكرة الخادم للمستخدم الحال ويتم انشاء سيشن افتراضي لكل مستخدم حالي
    بشكل افتراضي ...عندما المستخدم يطلب الصفحة للمرة الأولى ...صفحة الويب تلقائيا تقوم باضافة session cookie في المتصفح .....هذا يسمى _ASP.NET_SessionID


    تستطيع أن تخزن أي كائن في السيشن بالطريقة التالية :

    كود:
    Session( "myItem" ) = "Hello!"
    الجملة السابقة تضيف item جديد باسم myItem الى ال session state وقيمته Hello!
    بعد اضافة ال item الى ال session state ...تستطيع استرجاعه في أي صفحة قام المستخدم بزيارتها وتكون بالطريقة التالية

    ولكن لا تنسى أن تقوم بالتحويل لأن السيشن يخزن على هيئة كائن

    كود:
    Response.Write(cstr( Session( "myItem" )) )

    يجب أن تعلم أن ال item يكون خاص بالمستخدم ويتم حذفه عندما يغلق المستخدم متصفحه أو أنه لم يطلب الصفحة لمدة 20 دقيقة

    ويجب أيضا أن تعلم أن كل item يتم اضافته يكون متعلق بالمستخدم فقط يعني بعبارة أخرى اذا قام مستخدم بطلب صفحة ستقوم باضافة item باسم myItem الى ال session state وتحتوى على القيمة Hello! وقام مستخدم آخر بطلب الصفحة لإضافة item باسم myItem الى ال session state وتحتوي على القيمة Goodbye فلن يحدث تضارب لأنه سيكون هناك نسختين منفصلتين لكل item اضيف الى ال session state خاص بكل مستخدم

    ال objects في السيشن غير محدودة الحجم كما في الكوكيز وعلى سبيل المثال يمكن اضافة dataset الى ال session state بالطريقة التالية :

    كود:
    Session( "myDataSet" ) = DataSet_Name
    يجب أن تعلم أنه يتم انشاء نسخة منفصلة لكل item يتم اضافته الى ال session state لكل مستخدم قام بطلب الصفحة
    يعني اذا تم اضافة داتا ست تتكون من 400 سجل في ال session state في الصفحة وقام 500 شخص بطلب الصفحة ...سيكون موجود 500 نسخة من الداتا ست في الذاكرة

    يتم حذف ال items في ال session state باستخدام الدالة remove أو الدالة removeAll

    الدالة remove تقوم بحذف ال item الخاص للمسخدم الحالي ...وتكون الطريقة كالأتي :

    كود:
    Session.Remove( "myItem" )
    أما الدالة removeAll تحذف جميع ال items المخزنة في ال session state للمستخدم الحالي وتكون الطريقة كالأتي

    كود:
    Session.RemoveAll
    ويمكن اضاعة ال session state باحدى الطرق التالية :

    1- اذا المستخدم قام بالوصول الى نفس الصفحة من خلال صفحة متصفح أخرى ...بالرغم من أن السيشن يبقى موجودا في حال لم تغلق الصفحة الأصلية التي فتحت من قبل ولكن المتصفح يختلف في معالجة هذا الموقف
    2- اذا انتهى وقت السيشن يعني مر عليه 20 دقيقة بدون استخدامه
    3- اذا المبرمج قام بانهاء السيشن باستدعاء الدالة session_Abandon() وهي دالة تقوم بحذف الحالي ويحذف كل الموجود في الذاكرة

    كل client يحتاج لوجود session id لكل طلب ويتم انجاز ذلك باحدى الطريقتين

    مثال على السيشن
    1- انشأ صفحة تحتوي على Label و button كما في الصورة التالية :



    2- أنشأ ملف global كما بالشكل التالي



    3- وكتابة الكود التالي في دالة ال sessionStart الموجودة بداخل ملف ال global

    كود:
    Session.Add(“SomeValue”,Session.SessionID);
    وهذه الجملة تعني انشاء سيشن باسم SomeValue وقيمته تكون قيمة عشوائيه يضعها ال asp.net وتكون خاصة بكل مستخدم
    4- النقر نقرتين مزدوجتين على الزر الموجود في الصفحة التي تم انشاؤها من قبل وكتابة الكود التالي

    كود:
    ResultLabel.Text=Session[“SomeValue”].ToString();
    وهي الجملة تعني تحويل قيمة السيشن الى string وتخزينه في ال Label
    5- نقوم بالتنفيذ وستكون النتيجة كالتالي



    وطبعا هذا ال string سيختلف من مستخدم لأخر ولتجربة ذلك ...قم بنسخ عنوان الصفحة ووضعة في صفحة نت جديدة وقم بالتنفيذ مرة أخرى وستلاحظ النتيجة وهو اختلاف ال string الظاهر


    انتهى الدرس





    __________________
    بريدي :khalilme (at) hotmail.com
    مطور: ASP.NET, Windows Phone , Desktop Applications


  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2000
    المشاركات
    762


    درس كامل أخوي سلمت

    ممكن طريقة تحديد أوقات الجلسة وانتهائها





    __________________
    Eng.Fedail
    Computer and Electronics Engineer

  3. #3


    أخي الثلج ممكن توضح أكثر

    بخصوص هذا السطر أعذورني على السرعة فهو سي شارب

    ResultLabel.Text=Session[“SomeValue”].ToString();

    وهو بالفي بي
    ResultLabel.Text=Session(“SomeValue”).ToString()





    __________________
    بريدي :khalilme (at) hotmail.com
    مطور: ASP.NET, Windows Phone , Desktop Applications

  4. #4
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2000
    المشاركات
    762


    أقصد مدة الجلسة أخوي





    __________________
    Eng.Fedail
    Computer and Electronics Engineer





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض