如何用ASP.NET里的State Management Database来储存Session Variable。
(華版)
很多人都会在地一时间里想到用Cookies(HttpCookies)来储存某些资料;以便在游览到另一个WebForm时,依然能够从用户端读取所储存的资料。但是,万一如果用户的游览器不容许Cookies。。。那就不是完了吗。。。更何况Cookies只能容纳4K Byte的资料而且!
所以就要改用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属性:
把原有的
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。
浙公网安备 33010602011771号