请问大家,一般session保存在哪儿比较好?是数据库,还是进程等

解决方案 »

  1.   

    asp.net支持3中SESSION存储模型:
    1)IIS自身存储,默认方式。如果IIS重启则所有SESSION丢失
    2)Session State系统服务进程存储,优点:不会因为IIS重新启动而丢失,但是依附于该进程的停止而丢失。缺点:直接支持SESSION中存储简单基本数据类型,对于复杂数据类型如(类实例)不能直接存储,需要序列化后存储。
    3)MS SQL存储,优点:单独有一个数据库ASPState存储,不依赖IIS和其他任何进程,缺点同(2)。此外ASP.NET中建议不要使用SESSION存储数据,因为ASP.NET中的SESSION非常不稳定,会莫名其妙的丢失(如:杀毒软件扫描)。至今没有找到有效的办法解决SESSION莫名其妙丢失问题。建议使用COOKIE代替SESSION工作。 以上完全个人经验。仅共参考。
      

  2.   

    IIS自身存储,默认方式。如果IIS重启则所有SESSION丢失 
    如果没有特殊要求,这种一般化都能满足的
      

  3.   

    这个建议并不见得怎么好,Session丢失的问题是在1.1以下版本中出现的,Cookie存储Session安全性低,效率也比较低,只能存储字符串,存储数据大小还受限制。一般情况下采用默认设置就是了,如果需要多主机共享可以放到数据库中存储,如果需要长时间保存可以适用Cookie。
      

  4.   

    好像Session存在数据库不容易丢失,但访问速度应该是最慢的,我现在考虑到cookie不安全,就想听一下大家对session的看法
      

  5.   

    我用的.net2.0发现 session也很容易失效
      

  6.   

    如果害怕COOKIE存储不安全,很简单,可以写个加密方法,把要存储的数据加密后存储,取的时候再解一下就OK了。当然COOKIE不能用来存储大量数据。
      

  7.   

    这个我想要根据需要来实现,一般都是保存在进程中的,但是这样的话session很容易丢失。还有就是放入到数据库吧,这样的话,影响效率。这些讨论,我相信网上有很多的资料。