日期:2014-05-17  浏览次数:20705 次

替代session的方法?
做网站。跟踪用户信息。
画面不是一上来就登录的,是用到某些会员功能才需要登录。
1 用session。
  问题:比如10个用户登录后,创建10个session。
  我程序怎么判断哪个session对应到哪个用户上?
  另外怎么判断哪个用户的session过期了?
2 不用session都有哪些解决办法?
  因为session比较占服务器资源,
  登录人多了,早晚都得改别的方法。

  请高手指点。

------解决方案--------------------
session 其实并不是特别耗费服务器资源的,

一台标准的 IBM服务器的话 支持300-400个并发响应是绰绰有余的~
------解决方案--------------------
用cookie
System.Web.Security.FormsAuthentication.SetAuthCookie("cookie的键", true);
------解决方案--------------------
楼主其实过于担心了

HTTP是一种被动响应的协议,服务器不会主动对客户采取任何动作,只有当客户端发出请求后(POST/GET)服务器才会响应。所以没有必要知道session对应的用户,由于session ID是唯一的,当用户发出请求时,相应的session自然被服务器识别。另外session的生命值不用你管,是服务器设置决定的,服务器会自动销毁过期session。

使用session处理并发请求一般不会对服务器构成负担,访问量不是特别大(像门户网站)的话基本可以忽略。cookie是个好方案。另外可以把session信息存储到数据库里,这样就不会受访问数量困扰了,但会损失速度。
------解决方案--------------------
session应该有个ID的吧,你可以通过这个ID来区分是哪个用户登录的。