<% If Session("ScreenResolution" = "Low" Then %>
這是文字版本的頁面。
<% Else %>
這是多媒體版本的頁面。
<% End If %>
雖然會影響到伺服器的效能,但您也可以將物件實例存入 Session 物件中。 若需其他資訊,請參噫]定物件領域。
<%
If Session.Contents("Purchamnt" <= 75 then
Session.Contents.Remove("Discount"
End If
%>
如果需要的話,也可以使用 Contents 集合的 RemoveAll 方法完全移除工作階段中所儲存的變數:
Session.Content.RemoveAll()
使用 Remove 方法時,可以選擇依名稱或索引來刪除項目。 下列指令示範如何循環變更儲存在 Session 物件中的值,然後有條件地依索引來移除數值:
<%
For Each intQuote in Session.Contents
If Session.Contents(intQuote) < 200 Then
Session.Contents.Remove(intQuote)
End If
Next
%>
管理橫跨多個伺服器的工作階段
ASP 工作階段資訊儲存在 Web 伺服器中。 瀏覽器必須向同一部 Web 伺服器的頁面要求存取工作階段資訊的指令。 在 Web 伺服器的叢集 (釵h Web 伺服器在此分擔回應使用者要求的責任) 上,使用者的要求並不會都送到同一部伺服器。 反而特殊的軟體會將站台 URL 的所有要求配送至可用的伺服器,此程序稱為負載平衡。 負載平衡使得難以讓工作階段資訊保留在 Web 伺服器的叢集上。
若要在負載平衡的站台中使用 ASP 工作階段管理,您必須確定使用者工作階段中的所有要求都導引至同一部 Web 伺服器。 其中一個辦法是撰寫 Session_OnStart 程序,此程序使用 Response 物件將瀏覽器重新導引至執行使用者工作階段的特定 Web 伺服器。 如果應用程式頁面中的所有連結都是相對連結,則未來對於頁面的要求都會導引至同一部伺服器。