关于Session

转自:http://blog.csdn.net/wang379275614/article/details/9627755

Session理解:

 

       Session:在计算机中,尤其是在网络应用中,称为“会话”。

       通俗地讲Session实际上是某个特定的客户端访问某个特定的服务器端时所经历的一个不间断的时间段(即两个特定对象之间的一次会话)。

       这里将特定的客户端、特定的服务器端、不间断的时间段成为Session的三要素,只有三者完全相同才能称为同一个Session.

       Session的作用:就是在整个用户会话过程中它在 Web服务器的内存中以文本文件形式保持用户的状态信息(例如登录信息)供在任何时间从同一网站的任何页访问(一种数据共享机制)。由于远程用户没办法修改 session 文件的内容,所以这种机制比较安全。

Session语法:

[html] view plaincopy
 
  1. <html>  
  2. <head>  
  3. <title>sessionTest </title>  
  4. </head>  
  5. <body>  
  6. <%  
  7. session("User")="Kobe“  
  8. Response.write(session("User"))  
  9. %>  
  10. </body>  
  11. </html>  

Session对象的集合、属性、方法、事件

 

注:

(1)TimeOut属性:

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

(2)Abandon方法:

       Abandon 方法被调用时,将按序删除当前的 Session 对象,不过在当前页中所有脚本命令都处理完后,对象才会被真正删除。这就是说,在调用 Abandon 时,可以在当前页上访问存储在 Session 对象中的变量,但在随后的 Web 页上不行。

例如,在下列脚本中,第三行打印出 zhipeng值。这是因为在服务器处理完脚本前没有删除 Session 对象。

 

[html] view plaincopy
 
  1. <%  
  2.    
  3. Session.Abandon  
  4.    
  5. Session("MyName")= "zhipeng"  
  6.    
  7. Reponse.Write(Session("MyName"))  
  8.    
  9. %>  

  如果在随后 Web 页上访问 MyName 变量,您将发现它是空的。这是因为当包含上一个例子的页面结束处理时,MyName 同前面的 Session 对象一起被删除了。

放弃会话并打开后面的 Web 页时,服务器会创建新的 Session 对象。您可以在新的 Session 对象中存储变量和对象。

(3)Session_OnStart 事件:

Session_OnStart 事件是设置会话期变量的最佳时机,因为在访问任何页之前都会先设置它们。所有内建对象(ApplicationObjectContextRequestResponseServer 和 Session)都可以在Session_OnStart 事件脚本中使用和引用。

原文地址:https://www.cnblogs.com/cugwx/p/3567210.html