Session在ASP.NET中的应用资料整理
2006-11-01 14:13
417 查看
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的配置信息就包含在
必须具备的属性:
[thead]
可选的属性:
[thead]
3、在asp.net中客户端与服务器端的session状态存储
asp.net中,客户端存储session信息的方式有两种:cookie和cookieless,默认状态下,客户端还是使用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改为StateServer,stateConnectionString中也要配置目标服务器的地址,还有一个条件就是目标服务器必须安装了.NET Framework并启动了asp.net state service服务
将服务器session信息存储在SQL Server中(整理中……)
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秒钟。 |
asp.net中,客户端存储session信息的方式有两种:cookie和cookieless,默认状态下,客户端还是使用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改为StateServer,stateConnectionString中也要配置目标服务器的地址,还有一个条件就是目标服务器必须安装了.NET Framework并启动了asp.net state service服务
将服务器session信息存储在SQL Server中(整理中……)
相关文章推荐
- Session在ASP.NET中的应用资料整理
- Asp.net中如何处理一个站点不同Web应用通用Session的问题
- 把ASP应用中的Session传递给asp.net应用
- ASP.NET中Session失效的问题整理
- ASP.NET附书代码资料整理
- ASP.NET应用程序性能优化(根据资料归纳整理)
- ASP.NET中Session失效的问题整理
- 【转】 大年三十整理的asp.net资料! (.NET) (ASP.NET)
- [转]asp.net中session的原理及应用
- asp.net中购物车的两种存储方式Session和Cookie的应用实例
- Asp.net中处理一个站点不同Web应用共享Session的问题
- 强!!整理的asp.net资料!(不得不收藏)
- c#,asp.net 开发 app 学习资料整理
- [ZT]应用技巧:ASP和ASP.Net共享Session解决办法
- Asp.net Session 与Cookie的应用
- asp.net中session的原理及应用
- [zt]ASP.NET中Session与DATAGRID的综合应用
- asp.net中session的原理及应用
- 【转】 大年三十整理的asp.net资料! (.NET) (ASP.NET)