*استخدام اغراض الحالة – الغرض SESSION**
& تعتبر نسخة الغرض Session في ASP.NET، نسخة محسنة عن سابقتها في ASP. فقد حلت النسخة المعدلة من الغرض Session مجموعة من المشاكل التي عانت منها النسخة القديمة وهي:
- دعمها لما يسمى ب (مجموعة من مخدمات الوب - farm) وهي عبارة عن وجود أكثر من مخدم وب حيث يمكن أن يجري تحويل الطلب لمخدم وب مختلف في كل مرة.
كانت هذه العملية في النسخة القديمة تسبب في بعض الأحيان خللاً بسبب كون معلومات الجلسة مخزنة محلياً على المخدم.
أما في النسخة الجديدة فيمكن أن يتم إعداد المخدمات للتشارك بمخزن وحيد لمعلومات الأغراض Session. وفي هذه الحالة لا يهم تحويل طلب المستخدم إلى مخدم آخر إذا كان هذا المخدم يستطيع الوصول إلى معلومات الجلسة.
- دعم استخدام الغرض Session حتى دون تفعيل أو دعم الكعكات من قبل المستعرض. &
** البرمجة باستخدام الغرض SESSION **
& يكون الغرض Session مخصصاً لتخزين البيانات كل مستخدم ضمن تطبيقASP.NFT. يتم التعامل مع الغرض Session كالغرض HashTabIe، ويجري تخزين البيانات على قاعدة قيمة/مفتاح.
إسناد وقراءة قيمة من غرض Session: يمكن إسناد قيمة أو غرض إلى غرض Session باستخدام التعبير التالي في VB.NET :
وبصيغة مشلبهة في# C:
على سبيل المثال، إذا أردنا استعادة القيمة الممثلة بسلسة محارف "world Hello" المخزنة في غرض Session باستخدام المفتاح "SimpIeSession"، يكفي كتابة: و فى C#: أما بالنسبة للأنماط المختلفة عن سلاسل المحارف والأغراض فسنحتاج إلى تحويل القيمة حسب النمط المطلوب. فعلى سبيل المثال، إذا أردنا استعادة صف مخصص قمنا بإنشائه و تخزينه ضمن غرض الجلسة و ليكن الغرض PurchaseOrder، نكتب :
او باستخدام C# نكتب :
نلاحظ أننا قمنا بعملية تحويل قسري إلى النمط المحدد بالصف PurchaseOrder.
بعض خصائص الغرض Session : يقدم الغرض Session مجموعة من الخصائص لتحديد الطريقة التي يعمل بها هذا الغرض:
- الخاصة IsCookieIess تعيد القيمة True أو false لتحديد كون غرض Session يعمل باستخدام الكعكات أو بدون استخدامها .
- تكون الوضعية التلقائية للعمل هي FaIse بمعنى أن العمل يتم باستخدام الكعكات.
- الخاصة IsReadOnIy تعيد إحدى