讨论下怎么用数据库临时表实现session功能.好像是在数据库里建个表,一个字段设为布尔值,用1,0判断用户是否登陆,存储用户的信息.功能就相当于session和cookies.恩 使用存储过程怎么实现?

解决方案 »

  1.   

    把用户信息放到session就可以了,具体的看你的应用了。
      

  2.   

    回复人:lazyfish(呆呆虫) 

    把用户信息放到session就可以了,具体的看你的应用了。-----------------------------------------------------能不能少用或不用session呢?  直接与数据库传值判断,在临时表中实现保留用户信息的功能
      

  3.   

    如果不用session的话,假如用户关闭浏览器或者是系统重启你能判断并修改数据库内的相关字段吗?
    有的时候是必须用session的。
      

  4.   

    如何用数据库(临时表)存储登录用户信息 
    对数据库而言,临时表的生命周期只存在于连接存续期,所以除非保持长连接,临时表是不会帮你存任何东西的,如果你想使用数据库来存取session信息,可以直接修改web.config中的sessionState配置节,使mode为SQLServer这样就会在 SQL Server 上存储会话状态,详见msdn
    ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpgenref/html/gngrfsessionstatesection.htm
    当然,你存的session必须是实现了序列化的
      

  5.   


    非常感谢blackant2(乔峰)的指点,又多了点知识......正在学习.好像session容易过期,即使设置时间很长.比如想做商务平台,购物车,自己店铺管理什么的功能,想长久保持用户会话信息,且要可靠,所以听说到数据库临时表方法,想知道具体实现步骤代码,其实表也许并非临时表只是临时存储信息,表结构上是不变的,只是表内的数据是临时存储的,很多不明白,请教各位指点. 谢谢~
      

  6.   

    jazzking746(迪奥尼所思) 
    对于异常session过期的问题,是回为默认session存在IIS进程中,这是不稳定的,很容易丢失,你可以把SESSION存在数据库或状态服务器中,如果考虑效率问题,建议放在状态服务器中
    改:webconfig中:
    sessionstate节mode="stateserver" stateconnectionstring="tcpip=127.0.0.1:42424"
    ip为要存session的机器IP,然后在控制面版的报务中启动asp.net state service服务,42424是它的端口号,不能改。这样的话,session就存在独立的进程里。