asp入門教程:ASP Session 對象簡介
Session對象是用來儲存的資訊,或更改設定的一個使用者會議。變數儲存在Session對象舉辦資訊單一使用者,並提供給所有的網頁在一個應用程式。
-------------------------------------------------- ------------------------------
Session對象
當你正與一個應用程式,你開啟它,做一些改變,然後將其關閉。這是很像會議。電腦知道你是誰。它知道當您啟動應用程式,當您結束。但是,在互連網上有一個問題: Web伺服器並不知道你是誰和你怎麼做,因為HTTP地址不保持狀態。
ASP技術解決了這一問題創造一個獨特的cookie為每個使用者。的Cookie發送到用戶端,它包含的資訊,確定使用者。這個介面被稱為Session對象。
Session對象是用來儲存的資訊,或更改設定的一個使用者會議。變數儲存在Session對象舉辦資訊單一使用者,並提供給所有的網頁在一個應用程式。共同的資訊儲存在會話變數的名稱,編號,和喜好。伺服器建立一個新的Session對象為每個新使用者,並摧毀了Session對象時,會議結束。
-------------------------------------------------- ------------------------------
什麼時候一個Session開始?
會期開始時:
一種新的使用者請求一個ASP檔案,並Global.asa檔案包含Session_OnStart程式
A值儲存在一個會話變數
使用者請求一個ASP檔案,並Global.asa檔案使用<OBJECT>標記執行個體的對象與範圍會議
-------------------------------------------------- ------------------------------
什麼時候一個Session結束?
甲會議結束,如果使用者還沒有要求或重新整理網頁的申請,在規定的期間。預設情況下,這是20分鐘。
如果你想設定一個逾時間隔是短於或長於預設的,您可以設定逾時財產。
下面的例子設定一個逾時間隔5分鐘:
<%Session.Timeout=5%>
要結束會議,立即可以使用Abandon方法:
<%Session.Abandon%>
註:主要問題是會議時,應該停止。我們不知道使用者的要求,去年的最後一個或沒有。所以我們不知道多久我們應該保持會議“活著” 。等待的時間太長了會議利用閑置資源的伺服器上,但如果會議是刪除太快的使用者必須重新開始,因為伺服器已經刪除了所有的資訊。找到合適的逾時間隔可能很困難!
提示:如果您正在使用會話變數,儲存少量資料在其中。
-------------------------------------------------- ------------------------------
儲存和檢索會話變數
最重要的事情的Session對象是,你可以儲存在它的變數。
下面的例子將設定會話變數的使用者名稱,以“唐老鴨”和會話變數年齡的“ 50 ” :
<%Session("username")="Donald Duck"Session("age")=50%>
當值是儲存在一個會話變數它可從任何網頁中的ASP應用程式:
Welcome <%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%> |
刪除會話變數
收集的內容包含所有會話變數。
這是可能把一個會話變數與刪除方法。
下面的例子中刪除會話變數“買賣” ,如果價值的會話變數“年齡”低於18 :
<%If Session.Contents("age")<18 then Session.Contents.Remove("sale")End If %>
要刪除所有變數的一次會議上,使用RemoveAll方法:
<%Session.Contents.RemoveAll()%>
loop通過收集的內容
收集的內容包含所有會話變數。您可以通過迴圈目錄的收集,看到什麼儲存在它:
<%Session("username")="Donald Duck"Session("age")=50
dim iFor Each i in Session.Contents Response.Write(i & "<br />")Next%>
Result
usernameage
如果您不知道的一些項目中的目錄的收集,您可以使用計數財產:
<%dim idim jj=Session.Contents.CountResponse.Write("Session variables: " & j)For i=1 to j Response.Write(Session.Contents(i) & "<br />")Next%>
輸出值勤.
Session variables: 2Donald Duck50
loop 通過收集StaticObjects
您可以通過環StaticObjects收集,看到的價值觀所有Object Storage Service在Session對象:
<%dim iFor Each i in Session.StaticObjects Response.Write(i & "<br />")Next%>
轉載請註明來自www.111cn.net/asp/asp.html