前面的一篇博客已经说明了session 的缺点,以至于互联网项目中我们已经很少用到Session,下面我们用memcache+cookie去模拟session
//立即分配一个标志,Guid。把标志作为 memcache存储数据的key,把用户对象放到 memcache。 把guid写到客户端cookie里面去。
string userLoginId = Guid.NewGuid().ToString();
Common.Cache.CacheHelper.AddCache(userLoginId, userInfo, DateTime.Now.AddMinutes(20)); //这里进行了封装,不管是单机缓存,还是memcache分布式缓存都适用
//将key值储存在cookie中返回给客户端,这样下次用户访问时,就可以根据key值,取得相应的value值,这里的key相当于我们管道事件中的ssession_id;
Response.Cookies["userLoginId"].Value = userLoginId;
//如果正确,则跳转到首页
return Content("ok");