ASP.NET Session 模型简述

开发 后端
本文简要介绍了ASP.NET Session 模型.

ASP.NET Session是什么呢?简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。当每个用户***与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。这个SessionID是由WWW服务器随机产生的一个由24个字符组成的字符串,我们会在下面的实验中见到它的实际样子。

这个唯一的SessionID是有很大的实际意义的。当一个用户提交了表单时,浏览器会将用户的SessionID自动附加在HTTP头信息中,(这是浏览器的自动功能,用户不会察觉到),当服务器处理完这个表单后,将结果返回给SessionID所对应的用户。试想,如果没有SessionID,当有两个用户同时进行注册时,服务器怎样才能知道到底是哪个用户提交了哪个表单呢。当然,SessionID还有很多其他的作用,我们会在后面提及到。

除了SessionID,在每个Session中还包含很多其他信息。但是对于编写asp或asp.net的程序与来说,最有用的还是可以通过访问asp/asp.net Session对象,为每个用户存储各自的信息。例如我们想了解一下访问我们网站的用户浏览了几个页面,我们可能在用户可能访问到每个的页面中加入:

  1. < %  
  2. If Session("PageViewed") = ""Then  
  3.  Session("PageViewed") = 1  
  4. Else  
  5.  Session("PageViewed") = Session("PageViewed") + 1  
  6. End If  
  7. %>   
  8.  

通过以下这句话可以让用户得知自己浏览了几个页面:

  1. < %  
  2. Response.Write("You have viewed " & Session("PageViewed") & " pages")  
  3. %>  
  4.  

可能有些有些读者会问:这个看似像是数组的Session(“..”)是哪里来的?需要我定义吗?实际上,这个Session对象是具有asp解释能力的的WWW服务器的内建对象。也就是说asp的系统中已经给你定义好了这个对象,你只需要使用就行了。其中Session(“..”)中的..就好像变量名称,Session(“..”)=$$$中的$$$就是变量的值了。你只需要写上句话,在这个用户的每个页面中都可以访问..变量中的值了。

其实asp一共内建了7个对象,有Session、Application、Cookie、Response、Request、Server等。在其他的服务器端脚本语言如JSP、PHP等中也有其类似的对象,只是叫法或者使用方法上不太一样。

以上就是ASP.NET Session的一些基本概念。

【编辑推荐】

  1. ASP.NET数组基础:声明,表示及范例
  2. ASP.NET编程中的十大技巧(二)
  3. ASP.NET编程中的十大技巧(一)
  4. ASP.NET MVC教程(一):准备工作
  5. ASP.NET MVC Beta的部署问题

 

责任编辑:book05 来源: hi.baidu
相关推荐

2009-07-28 16:57:50

ASP.NET Ses

2009-08-03 10:07:20

ASP.NET Ses

2009-07-29 10:19:48

Session StaASP.NET

2009-07-24 10:41:00

ASP.NET Ses

2009-07-20 17:21:43

Session状态ASP.NET

2009-07-22 18:02:26

ASP.NET Ses

2009-08-03 13:38:18

ASP.NET编程模型

2009-07-29 17:16:47

2009-08-05 18:30:36

Session和CooASP.NET表单

2009-07-24 10:41:00

ASP.NET Ses

2009-08-05 17:26:25

ASP.NET 2.0

2009-07-21 14:32:51

ASP.NET进程模型

2009-07-23 16:28:55

2009-07-30 14:03:04

ASP.NET中的se

2009-08-03 09:45:14

ASP.NET Ses

2009-08-03 14:18:40

ASP.NET编程模型ASP.NET页面生命

2009-07-22 17:45:35

ASP.NET教程

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-12-22 14:39:15

ASP.NET AJA
点赞
收藏

51CTO技术栈公众号