如何用ASP.NET里的State Management Database来储存Session Variable。
2005-04-14 10:32
501 查看
(華版)
很多人都会在地一时间里想到用Cookies(HttpCookies)来储存某些资料;以便在游览到另一个WebForm时,依然能够从用户端读取所储存的资料。但是,万一如果用户的游览器不容许Cookies。。。那就不是完了吗。。。更何况Cookies只能容纳4K Byte的资料而且!
Dim DemoCookie As New HttpCookie("sampleCookie")
Dim time As DateTime = DateTime.Now
DemoCookie.Values.Add("Time", time.ToString())
DemoCookie.Expires = time.AddDays(5)
Response.Cookies.Add(DemoCookie)
Response.Redirect("sample.aspx")
所以就要改用server side的SQL数据库方式而放弃client side的Cookies;更何况用SQL数据库是非常简单,只需安装.NET Framework所提供的InstallSqlState.sql script和修改一下Web.Config文件就行了。其它就如平常写Session变量一模一样。
InstallSqlState.sql可以在 C:\WINDOWS\Microsoft.NET\Framework\(版本号码)\ 文件夹里找到。
以下就是需要修改的Web.Config里的sessionState属性:
<sessionState
mode="SQLServer"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=localhost; integrated security=true"
cookieless="false"
timeout="20"
/>
把原有的
1. mode=InProc改去mode=SQLServer。
2. 修改sqlConnectionString字符串,但是在这里不用填写Initial Catalog。因为AspState是默人Catalog,
也就InstallSqlState.sql所安装的ASP State Management database。
3. 把timeout修改去你想要的session expire值;timeout的单位以分钟来计算。
4. cookieless="false"代表SesionID容纳在URL里,比如http://server/(SessionID)/Sample.aspx
所以,此属性的值一般都是false。
Dim time As DateTime = DateTime.Now
Session("Time") = time.ToString())
很多人都会在地一时间里想到用Cookies(HttpCookies)来储存某些资料;以便在游览到另一个WebForm时,依然能够从用户端读取所储存的资料。但是,万一如果用户的游览器不容许Cookies。。。那就不是完了吗。。。更何况Cookies只能容纳4K Byte的资料而且!
Dim DemoCookie As New HttpCookie("sampleCookie")
Dim time As DateTime = DateTime.Now
DemoCookie.Values.Add("Time", time.ToString())
DemoCookie.Expires = time.AddDays(5)
Response.Cookies.Add(DemoCookie)
Response.Redirect("sample.aspx")
所以就要改用server side的SQL数据库方式而放弃client side的Cookies;更何况用SQL数据库是非常简单,只需安装.NET Framework所提供的InstallSqlState.sql script和修改一下Web.Config文件就行了。其它就如平常写Session变量一模一样。
InstallSqlState.sql可以在 C:\WINDOWS\Microsoft.NET\Framework\(版本号码)\ 文件夹里找到。
以下就是需要修改的Web.Config里的sessionState属性:
<sessionState
mode="SQLServer"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=localhost; integrated security=true"
cookieless="false"
timeout="20"
/>
把原有的
1. mode=InProc改去mode=SQLServer。
2. 修改sqlConnectionString字符串,但是在这里不用填写Initial Catalog。因为AspState是默人Catalog,
也就InstallSqlState.sql所安装的ASP State Management database。
3. 把timeout修改去你想要的session expire值;timeout的单位以分钟来计算。
4. cookieless="false"代表SesionID容纳在URL里,比如http://server/(SessionID)/Sample.aspx
所以,此属性的值一般都是false。
Dim time As DateTime = DateTime.Now
Session("Time") = time.ToString())
相关文章推荐
- cache:缓存在asp.net中如何管理?服务器端缓存?Session, Application, Cache objectscache ,客户端缓存?Cookies,ViewState (转)
- 如何: 配置到 Store ASP.NET Session State SQL Server
- Asp.Net C#中Session 如何储存取信息
- Asp.net 实现Session分布式储存(Redis,Mongodb,Mysql等) sessionState Custom
- cache:缓存在asp.net中如何管理?服务器端缓存?Session, Application, Cache objectscache ,客户端缓存?Cookies,ViewState
- cache:缓存在asp.net中如何管理?服务器端缓存?Session, Application, Cache objectscache ,客户端缓存?Cookies,ViewState
- Asp.Net C#中Session 如何储存取信息
- Asp.net 实现Session分布式储存(Redis,Mongodb,Mysql等) sessionState Custom
- Asp.net中Application、Session、Cookie、ViewState、Cache、Hidden的区别
- 如何解决 asp.net session 丢失问题
- IIS服务器中 ASP.NET State Service 开启后 Session 仍容易丢失的问题终极解决办法
- 如何实现Asp与Asp.Net共享Session
- HOW TO: Configure SQL Server to Store ASP.NET Session State
- Asp.net Session认识加强-Session究竟是如何存储你知道吗?
- 黑马程序员_学习日记72_724ASP.NET(ViewState、Cookie、Session、登录、分页存储过程)
- ASP.NET Session State FAQ
- 关于Asp.net中的ViewState、Session....等的总结
- [备用]权限设计方案、如何使用session、MVC如何使用模板、DropdownList、怎么添加Bootstrape框架、使用ASP.NET MVC 4 Bootstrap Layout Template(VS2012)
- 温故而知新:Asp.Net中如何正确使用Session
- ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等)