نشست (ASP Session)
«نشست (Session)» مثل ورود موقت به برنامه است. سرور شما را می شناسد و بین صفحه ها یادتان می ماند. چون HTTP «بی حالت» است، ASP با یک کوکی مخصوص، نشست می سازد و اطلاعات کاربر را نگه می دارد.
نشست ASP چیست؟
شی «Session» متغیرهای مخصوص هر کاربر را نگه می دارد. این متغیرها در تمام صفحه های برنامه در دسترس هستند. معمولاً نام، شناسه و ترجیح ها را ذخیره می کنیم.
پایان نشست: Timeout و Abandon
نشست پس از مدتی بی کاری تمام می شود. پیش فرض 20 دقیقه است. با «Timeout» زمان را عوض کن. با «Abandon» فوری پایان بده.
<%
Session.Timeout = 5
%>
<%
Session.Abandon
%>
نکته: تنظیم زمان باید منطقی باشد. زمان زیاد، منابع می گیرد. زمان کم، تجربه کاربر را خراب می کند.
ذخیره و بازیابی متغیرهای نشست
با Session("کلید") مقدار بگذار و بخوان. این مقدار در همه صفحه ها در دسترس است.
<%
Session("username") = "Donald Duck"
Session("age") = 50
%>
<%
Response.Write(Session("username"))
%>
مثال ترجیح کاربر با Session
با یک شرط ساده، بر اساس ترجیح کاربر، خروجی را عوض کن.
<% If Session("screenres") = "low" Then %>
This is the text version of the page
<% Else %>
This is the multimedia version of the page
<% End If %>
حذف متغیرهای نشست
هم می توانی یک متغیر را حذف کنی، هم همه را. مجموعه «Contents» شامل تمام متغیرهاست.
<%
If Session.Contents("age") < 18 Then
Session.Contents.Remove("sale")
End If
%>
<%
Session.Contents.RemoveAll()
%>
حلقه روی متغیرهای نشست (Contents)
برای دیدن کلیدها و مقدارها، روی «Contents» حلقه بزن.
<%
Session("username") = "Donald Duck"
Session("age") = 50
Dim i
For Each i In Session.Contents
Response.Write(i & "<br>")
Next
%>
شمارش آیتم ها با Count
اگر تعداد را نمی دانی، از خاصیت «Count» استفاده کن.
<%
Dim i
Dim j
j = Session.Contents.Count
Response.Write("Session variables: " & j)
For i = 1 To j
Response.Write(Session.Contents(i) & "<br>")
Next
%>
حلقه روی StaticObjects
برای دیدن اشیای سراسری نشست، روی «StaticObjects» حلقه بزن.
<%
Dim k
For Each k In Session.StaticObjects
Response.Write(k & "<br>")
Next
%>
گام های عملی سریع
- دو متغیر نشست بساز و چاپ کن.
- Timeout را عوض کن و نتیجه را ببین.
- با Remove و RemoveAll پاک سازی را تمرین کن.
جمع بندی سریع
- نشست کاربر را بین صفحات حفظ می کند.
- Session("کلید") برای ذخیره و خواندن است.
- Timeout و Abandon پایان نشست را کنترل می کنند.
- Contents و StaticObjects برای مرور اطلاعات اند.