public FileContentResult Index(int Ran = 0) { VerifyCode v = new VerifyCode(); byte[] bytes = v.BuildImg(); Session["vcode"] = v.checkCode; return File(bytes, @"image/jpeg"); }
继续 MVC 验证码, 验证码验证的问题。
浏览器 通过 Url ,进入 Control 层,进去上面的代码块,保存在 Session 里面,那么 Session 的本质是什么呢?
当你 注释掉 Session["vcode"] = v.checkCode; 这句话是,请求标头是没有 cookie 的,他的本质是cookie ,但它是存储在 浏览器 请求标头里面,似乎不是以一个文本存储在
Temporary Internet Files 临时文件夹中,点击 换一张 的时候 ,SessionId 会发生变化吗? 断点打在 Session["vcode"] = v.checkCode; 上,监视下 Session.SessionId,他没有变,
因为会话没有结束,关掉 浏览器,会话结束了,再进来,看看,果断变了。而我们的Cookie 就是一个保存在 客户端 浏览器临时文件夹的一个 文本文件。Session 客户端,服务端 都存放,
服务端 放在 Session 池里,结束 进程iis 进程 就 服务端就没了,或者等它过期,保存在客户端的Session 是放在浏览器这个软件 里面的,浏览器这个软件 占用 电脑内存,其实在内存条里面。