- Login
帳號:
密碼:
ASP MENU
線上教學
   ASP 教學
VB.NET 教學
JSP 教學
JAVA 教學
完整 ASP 教學
程式下載
   ASP 程式下載
提供 ASP 程式
程式量身訂做
   收費標準
填寫需求表
討論交流專區
   程式討論區
電腦資訊交流
工作機會
   社會人就職情報
汎亞人力銀行
大台中人力銀行
大高雄人力銀行
相關連結
   ASP 虛擬空間
ASP 相關網站
聯絡我們
   意見信箱
加入會員程式討論區線上購物回首頁
ASP 教學
揭開ASP神秘面紗(5)
Session 對 象

作者:米仙聖人

  我們可以使用 Session 對象存儲特定的用戶會話所需的信息。當用戶在應用程序的頁之間跳轉時,存儲在 Session 對象中的變量不會清除,而用戶在應用程序中訪問頁面時,這些變量始終存在。當用戶請求來自應用程序的 Web 頁時,如果該用戶還沒有會話,則 Web 服務器將自動創建一個 Session 對象。當會話過期或被放棄後,服務器將終止該會話。
   通過向客戶程序發送唯一的 Cookie 可以管理服務器上的 Session 對象。當用戶第一次請求 ASP 應用程序中的某個頁面時,ASP 要檢查 HTTP 頭信息,查看是否有在報文中有名為 ASPSESSIONID 的 Cookie 發送過來,如果有,則服務器會啟動新的會話,並為該會話生成一個全局唯一的值,在把這個值作為新 ASPSESSIONID Cookie 的值發送給客戶端,正是使用這種 Cookie,可以訪問存儲在服務器上的屬於客戶程序的信息。Session 對象最常見的作用就是存儲用戶的首選項。例如,如果用戶指明不喜歡查看圖形,就可以將該信息存儲在 Session 對象中。另外其還經常被用在鑑別客戶身份的程序中。要注意的是,會話狀態僅在支持 cookie 的瀏覽器中保留,如果客戶關閉了 Cookie 選項,Session 也就不能發揮作用了。

一、屬性

1、SessionID
   SessionID 屬性返回用戶的會話標識。在創建會話時,服務器會為每一個會話生成一個單獨的標識。會話標識以長整形數據類型返回。在很多情況下 SessionID 可以用於 WEB 頁面註冊統計。

2、TimeOut
  Timeout 屬性以分鐘為單位為該應用程序的 Session 對象指定超時時限。如果用戶在該超時時限之內不刷新或請求網頁,則該會話將終止。

二、方法
   Session 對象僅有一個方法,就是 Abandon,Abandon 方法刪除所有存儲在 Session 對象中的對象並釋放這些對象的源。如果您未明確地調用 Abandon 方法,一旦會話超時,服務器將刪除這些對象。當服務器處理完當前頁時,下面示例將釋放會話狀態。
  < % Session.Abandon %>


三、事件
  Session 對象有兩個事件可用於在 Session 對象啟動和釋放是運行過程。
  1、Session_OnStart 事件在服務器創建新會話時發生。服務器在執行請求的頁之前先處理該腳本。Session_OnStart 事件是設置會話期變量的最佳時機,因為在訪問任何頁之前都會先設置它們。
  儘管在 Session_OnStart 事件包含 Redirect 或 End 方法調用的情況下 Session 對象仍會保持,然而服務器將停止處理 Global.asa 文件並觸發 Session_OnStart 事件的文件中的腳本。
   為了確保用戶在打開某個特定的 Web 頁時始終啟動一個會話,就可以在 Session_OnStart 事件中調用 Redirect 方法。當用戶進入應用程序時,服務器將為用戶創建一個會話並處理 Session_OnStart 事件腳本。您可以將腳本包含在事件中以便檢查用戶打開的頁是不是啟動頁,如果不是,就指示用戶調用Response.Redirect 方法啟動網頁。  

2、Session_OnEnd 事件在會話被放棄或超時發生。關於使用 Session 對象需要注意的事項 Application 對象相近。

會話可以通過以下三種方式啟動 :
  1、一個新用戶請求訪問一個 URL,該 URL 標識了某個應用程序中的 .asp 文件,並且該應用程序的 Global.asa 文件包含 Session_OnStart 過程。
  2、用戶在 Session 對象中存儲了一個值。
  3、用戶請求了一個應用程序的 .asp 文件,並且該應用程序的Global.asa 文件使用 < OBJECT> 標籤創建帶有會話作用域的對象的實例。
   如果用戶在指定時間內沒有請求或刷新應用程序中的任何頁,會話將自動結束。這段時間的默認值是 20 分鐘。可通過在 Internet 服務管理器中設置“應用程序選項”屬性頁中的“會話超時”屬性改變應用程序的默認超時限制設置。依據您的 Web 應用程序的要求和服務器的內存空間來設置此值。例如,如果您希望瀏覽您的 Web 應用程序的用戶在每一頁僅停留幾分鐘,就應該縮短會話的默認超時值。過長的會話超時值將導致打開的會話過多而耗盡您的服務器的內存資源。對於一個特定的會話,如果您想設置一個小於默認超時值的超時值,可以設置 Session 對象的 Timeout 屬性。例如,下面這段腳本將超時值設置為 10分鐘。
  < % Session.Timeout = 10 %>

   當然你也可以設置一個大於默認設置的超時值,Session.Timeout 屬性決定超時值。你還可以通過 Session 對象的 Abandon 方法顯式結束一個會話。例如,在表格中提供一個“退出”按鈕,將按鈕的 ACTION 參數設置為包含下列命令的 .asp 文件的 URL。
  < % Session.Abandon %>



頂端
本網頁最佳瀏覽模式為:瀏覽器 IE4.0 以上    解析度: 800 x 600
Copyright © 2000-2019 COOLASP All Rights Reserved