فهرست سرفصل‌های ASP
خانه (HOME) معرفی (WebPages Intro) ریزر (WebPages Razor) چیدمان (WebPages Layout) پوشه ها (WebPages Folders) گلوبال (WebPages Global) فرم ها (WebPages Forms) اشیا (WebPages Objects) فایل ها (WebPages Files) پایگاه داده ها (WebPages Databases) هلپرها (WebPages Helpers) وب گرید (WebPages WebGrid) نمودارها (WebPages Charts) ایمیل (WebPages Email) امنیت (WebPages Security) انتشار (WebPages Publish) نمونه ها (WebPages Examples) کلاس ها (WebPages Classes) معرفی (Razor Intro) سینتکس (Razor Syntax) متغیرها (Razor C# Variables) حلقه ها (Razor C# Loops) منطق (Razor C# Logic) متغیرها (Razor VB Variables) حلقه ها (Razor VB Loops) منطق (Razor VB Logic) معرفی (ASP Intro) سینتکس (ASP Syntax) متغیرها (ASP Variables) رویه ها (ASP Procedures) شرط ها (ASP Conditionals) حلقه ها (ASP Looping) فرم ها (ASP Forms) کوکی ها (ASP Cookies) نشست (ASP Session) برنامه (ASP Application) اینکلود (#include) (ASP #include) Global.asa (ASP Global.asa) AJAX (ASP AJAX) ایمیل (ASP e-mail) نمونه ها (ASP Examples) گواهینامه (ASP Certificate) توابع VB (ASP VB Functions) کلیدواژه های VB (ASP VB Keywords) Response (ASP Response) Request (ASP Request) Application (ASP Application) Session (ASP Session) Server (ASP Server) Error (ASP Error) FileSystem (ASP FileSystem) TextStream (ASP TextStream) Drive (ASP Drive) File (ASP File) Folder (ASP Folder) Dictionary (ASP Dictionary) AdRotator (ASP AdRotator) BrowserCap (ASP BrowserCap) پیوند محتوا (ASP Content Linking) گرداننده محتوا (ASP Content Rotator) راهنمای سریع (ASP Quick Ref) معرفی (ADO Intro) اتصال (ADO Connect) رکوردست (ADO Recordset) نمایش (ADO Display) کوئری (ADO Query) مرتب سازی (ADO Sort) افزودن (ADO Add) به روزرسانی (ADO Update) حذف (ADO Delete) فرمان (ADO Command) اتصال (ADO Connection) خطا (ADO Error) فیلد (ADO Field) پارامتر (ADO Parameter) ویژگی (ADO Property) رکورد (ADO Record) رکوردست (ADO Recordset) جریان (ADO Stream) انواع داده (ADO DataTypes)
نتیجه‌ای برای جستجو یافت نشد.
ASP

ASP — نشست (ASP Session)

آخرین بروزرسانی: 1404/08/14

نشست (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
%>

مشاهده در ادیتور

گام های عملی سریع

  1. دو متغیر نشست بساز و چاپ کن.
  2. Timeout را عوض کن و نتیجه را ببین.
  3. با Remove و RemoveAll پاک سازی را تمرین کن.

جمع بندی سریع

  • نشست کاربر را بین صفحات حفظ می کند.
  • Session("کلید") برای ذخیره و خواندن است.
  • Timeout و Abandon پایان نشست را کنترل می کنند.
  • Contents و StaticObjects برای مرور اطلاعات اند.