session用的多会占服务器内存,而且有时候莫名其妙丢失
cookie用的不多
请问有没有好点的存储办法

解决方案 »

  1.   

    保存信息来去常见的就你写的这写个办法,除了这个还有数据库保存,你自己衡量下吧。他们各有优缺点
    session : 优缺点你应该知道
    cookie:占用的是客户端的,但是是否能存储是客户决定。form验证默认采用的就是cookie保存
    数据库:维护起来很麻烦,但是比其它的要保险些
      

  2.   

    用form身份验证票的方式 ?有参考资料吗?谢谢
      

  3.   

    用session的话,也未必就丢失,主要看你采用的是那种方式,一般有InProc、StateServer、SQLServer 三种方式.默认用的是InProc,就是把 Session 保存在 aspnet_wp.exe (Windows 2000 解析 ASP.NET页面所用的进程) 或 w3wp.exe (Win2003 的进程) 中,一旦进程被中止或被重置,Session 将丢失,StateServer把Session 存放在一个单独的进程里,此进程独立于 aspnet_wp.exe 或 w3wp.exe,SQLServer 自然就是存放到数据库中,你可以根据需要选择. 
      

  4.   

    ◎用form身份验证票的方式   ?有参考资料吗?谢谢楼主应该可以上网吧?用google搜索资料应该会吧?用google搜索“net form验证”可以找到n多的资料!
      

  5.   

    记住用户名就OK.其他信息全部储存在数据库里. 包括运行时的信息.醉翁之意不在答问题,在于发广告也------------------------------------------------ 我们要新招一个JavaScript的开发人员哦.有人有兴趣来吗?? 
    http://www.cnblogs.com/Lostinet/archive/2008/01/31/1059527.html 
      

  6.   

    StateServer 设置
    1、    修改注册表(关键步骤,如下图)运行 regedit → 打开注册表 → 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters 节点 → 将 AllowRemoteConnection 的键值设置成“1”(1 为允许,0 代表禁止)→ 设置 Port (端口号)注意事项:       a)、若ASP.NET State Service 正在运行,修改注册表内容后,则需要重新启动该服务b)、注意端口号的键值是以十六进制储存的,可以使用十进制进行修改,42424 是默认的端口c)、AllowRemoteConnection 的键值设置成“1”后,意味着允许远程电脑的连接,也就是说只要知道你的服务端口,就可享用你的ASP.NET State Service,即把 Session 存放在你的电脑进程内,因此请大家慎用;键值为“0”时,仅有stateConnectionString 为“tcpip=localhost: 42424”与“tcpip=127.0.0.1:42424”的情况,方可使用ASP.NET State Service
      

  7.   

    2、    开启 ASP.NET State Service(如下图)右键点击“我的电脑”→ 管理 → 服务与应用程序 → 服务 → 双击“ASP.NET State Service” → 启动(可设为“自动”)说明:只要安装了 .Net Framework v1.0/v1.1 ,都拥有此服务。3、    更改 Web.config打开 Web.config → 找到 <sessionState> 节点内容<sessionState             mode="InProc"            stateConnectionString="tcpip=127.0.0.1:42424"            sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"            cookieless="false"             timeout="20" />
    → 将其改为以下内容<sessionState mode="StateServer"  stateConnectionString="tcpip=192.168.0.2:42424" timeout="20" />注意事项:       a)、设成StateServer 后,必须要有对应的stateConnectionString        b)、注意 IP 地址(可以是远程计算机 IP、计算机名称、域名)与端口号,端口号需与ASP.NET State Service 的服务端口一致
      

  8.   

    有两种办法当然还是cookie 和 session
    session虽说占服务器资源。但安全。这是值得的。况且现在硬件较好 随随便便是 几G的内存。
    不管怎么样 session是值得的......安全第一。你要懂得 舍不得孩子套不住狼的道理。cookie 也可以。但并不是浏览者的IE就一页支持COOKIE [的确的大部分用户把自己的IE设成支持]
    cookie 再怎么说又是客户端。客户端就不谈安全的事了。保存一些不是很隐私的信息当然是可以的。至于 session容易丢。session的有一个模式好像依赖 explorer 进程。丢失是正常的。一般情况下 用 InProc 这个模式把超时的时间设长一点。还是可以的。我的   <sessionState timeout="600" mode="InProc"/>
    用户从上班用到下班。还是可以的。
      

  9.   

    哦。对了 cookie 还有一个毛病就是
    假设你在   www.sms.abc.com 上登陆可以访问
    www.abc.com
    www.mms.abc.com
    www.pic.abc.com
    www.vod.abc.com
    ……
    但不能访问 再下层的如www.123.mms.abc.com
    www.123.pic.abc.com
    www.123.vod.abc.com……
      

  10.   

    profile   但是其本质也是数据库.