zoukankan      html  css  js  c++  java
  • Session

    Session 何时结束?

    假如用户没有在规定的时间内在应用程序中请求或者刷新页面,session 就会结束。默认值为 20 分钟。

    如果您希望将超时的时间间隔设置得更长或更短,可以设置 Timeout 属性。

    下面的例子设置了 5 分钟的超时时间间隔:

    <%
    Session.Timeout=5
    %>

    要立即结束 session,可使用 Abandon 方法:

    <%
    Session.Abandon
    %>

    注意:使用 session 时主要的问题是它们该在何时结束。我们不会知道用户最近的请求是否是最后的请求。因此我们不清楚该让 session“ 存活”多久。为某个空闲的 session 等待太久会耗尽服务器的资源。然而假如 session 被过早地删除,那么用户就不得不一遍又一遍地重新开始,这是因为服务器已经删除了所有的信息。寻找合适的超时间隔时间是很困难的。

    提示:如果您正在使用 session 变量,请不要在其中存储大量的数据。

    存储和取回 session 变量

    Session 对象最大的优点是可在其中存储变量,以供后续的网页读取,其应用范围是很广的。

    下面的例子把 "Donald Duck" 赋值给名为 username 的 session 变量,并把 "50" 赋值给名为 age 的 session 变量:

    <%
    Session("username")="Donald Duck"
    Session("age")=50
    %>

    一旦值被存入 session 变量,它就能被 ASP 应用程序中的任何页面使用:

    Welcome <%Response.Write(Session("username"))%>

    上面这行程序返回的结果是: "Welcome Donald Duck"。

    也可以在 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%>

    移除 session 变量

    contents 集合包含所有的 session 变量。

    可通过 remove 方法来移除 session 变量。

    在下面的例子中,假如 session 变量 "age" 的值小于 18,则移除 session 变量 "sale":

    <%
    If Session.Contents("age")<18 then 
      Session.Contents.Remove("sale")
    End If 
    %>

    如需移除 session 中的所有变量,请使用 RemoveAll 方法:

    <%
    Session.Contents.RemoveAll()
    %>

    遍历 contents 集合

    contents 集合包含所有的 session 变量。可通过遍历 contents 集合,来查看其中存储的变量:

    <%
    Session("username")="Donald Duck"
    Session("age")=50
    
    dim i
    For Each i in Session.Contents
      Response.Write(i & "<br />")
    Next
    %>

    结果:

    username
    age

    如果需要了解 contents 集合中的项目数量,可使用 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
    %>

    结果:

    Session variables: 2
    Donald Duck
    50

    遍历 StaticObjects 集合

    可通过循环 StaticObjects 集合,来查看存储在 session 对象中所有对象的值:

    <%
    dim i
    For Each i in Session.StaticObjects
      Response.Write(i & "<br />")
    Next
    %>
     和cookie差不多。只要会基本的就算可以了。
  • 相关阅读:
    我在ZZ这八年
    安装JBpm
    用程序实现HTTP压缩和缓存
    (转)WPF Custom Control Dependency Property Gotcha
    开发一个Word的代码高亮插件
    (转)Getting rid of the DSL model explorer
    (翻译)LearnVSXNow! #16 创建简单的编辑器2
    对 COM 组件的调用返回了错误 HRESULT E_FAIL。
    Word中使用代码高亮插件
    使用HttpWebRequest post数据时要注意UrlEncode
  • 原文地址:https://www.cnblogs.com/Jlasp/p/3149538.html
Copyright © 2011-2022 走看看