Session在ASP.NET中的应用资料整理

本文主要介绍了Session在网络中的作用,它可标识访问服务器的客户端,在ASP.NET程序中还能为用户存储信息。同时说明了ASP.NET应用里session信息在web.config文件中的配置,以及客户端与服务器端session状态的存储方式,包括cookie、cookieless、进程外和SQL Server存储等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、   Session的作用:

A、  在网络中的应用,主要用于标识网络中的没一个访问了服务器的客户端,以 WWW服务器来讨论,其它的还没研究,当用户首次与WWW服务器连接时,它就与服务器建立了session,同时服务器会同时为其分配一个sessionID用于唯一标识用户的身份,这个sessionID是由WWW服务器随机产生的一个由24个字符组成的字符串。这个sessionID有很大的意义,例如当一个用户提交表单时,浏览器会将用户的sessionID自动附加在http头信息中,服务器处理完表单,将表单返回给sessionID的对应用户,在这里就需要sessionID标识用户的作用

B、  在我们编写asp.net程序时,可以通过访问asp.net的内置session对象为每个用户存储各自信息,类似程序中的一个全局变量

2、   session信息的配置

asp.net应用程序中,都有一个web.config文件,session的配置信息就包含在

<sessionState

/>
sessionState
的语法:
<sessionState mode="Off|InProc|StateServer|SQLServer"

              cookieless="true|false"

              timeout="number of minutes"

              stateConnectionString="tcpip=server:port"

              sqlConnectionString="sql connection string"

              stateNetworkTimeout="number of seconds"

/>

必须具备的属性:

属性

选项

描述

mode

 

 

设置将Session信息存储到哪里

 

 

Off

设置为不使用Session功能

 

 

InProc

设置为将Session存储在进程内,就是ASP中的存储方式,这是默认值。

 

 

StateServer

设置为将Session存储在独立的状态服务中。

 

 

SQLServer

设置将Session存储在SQL Server中。

 

 


可选的属性:

属性

选项

描述

cookieless

 

 

设置客户端的Session信息存储到哪里

 

 

ture

使用Cookieless模式

 

 

false

使用Cookie模式,这是默认值。

timeout

 

 

设置经过多少分钟后服务器自动放弃Session信息。默认为20分钟

stateConnectionString

 

 

设置将Session信息存储在状态服务中时使用的服务器名称和端口号,例如:"tcpip=127.0.0.1:42424”。当mode的值是StateServer是,这个属性是必需的。

sqlConnectionString

 

 

设置与SQL Server连接时的连接字符串。例如"data source=localhost;Integrated Security=SSPI;Initial Catalog=northwind"。当mode的值是SQLServer时,这个属性是必需的。

stateNetworkTimeout

 

 

设置当使用StateServer模式存储Session状态时,经过多少秒空闲后,断开Web服务器与存储状态信息的服务器的TCP/IP连接的。默认值是10秒钟。

 

 

3、在asp.net中客户端与服务器端的session状态存储
         asp.net
中,客户端存储session信息的方式有两种:cookiecookieless,默认状态下,客户端还是使用cookie存储session信息,cookieless信息也可以在web.config文件中的sessionState里设置,如果cookieless=true客户端的session将不在使用cookie存储。

如果cookieless=false,那么session的信息将存储在IIS进程中,当IIS关闭或重启,这些信息都会丢失,这种方式的优点在于性能高,因为所有的session信息都保存在IIS进程中,所以IIS能够很快访问到这些信息,这种模式比进程外存储session信息或是SQLserver存储session信息都要快很多。
        
将服务器session信息存储在进程外:管理工具>服务>asp.net state service(启动),该服务主要是启动一个保存session信息的进程,服务启动后可以在任务管理器进程中看到一个aspnet_state.exe进程。或是将session信息存储在其它的服务器上,此时sessionState中的mode改为StateServerstateConnectionString中也要配置目标服务器的地址,还有一个条件就是目标服务器必须安装了.NET Framework并启动了asp.net state service服务
        
将服务器session信息存储在SQL Server中(整理中……)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值