IIS存储用户创建的会话在哪里?

时间:2013-10-05 17:34:10

标签: asp.net session iis-7 session-variables

从这篇文章http://www.codeproject.com/Articles/5892/Session-Management-in-ASP-NET我已经理解会话存储在cookie中的浏览器中(让我们假设Cookieless = false)以及它如何用于未来的通信以克服web的无状态特性。我有一个怀疑 - 代码创建的会话(例如Session [“abc”] =“测试数据”)存储在哪里?它们是仅存储在服务器上还是存储在cookie中(极不可能)?如果它们存储在服务器上,它们存储在哪里?如何通过为特定用户识别的代码创建会话?

提前致谢。

1 个答案:

答案 0 :(得分:1)

Session["abc"]="test data" is Stored in RAM by default as for ASP.net

两个不同的Facebook用户在请求“www.facebook.com/home”时都会发送不同的页面,例如user1将有他的个人资料新闻,user2会有不同的个人资料。

那么流程是什么 - >

  • user1登录www.abc.com。
  • 服务器将sessionid darw12sxa3towkoiuhztcf0c保存为user1浏览器中的cookie。
  • 服务器将darw12sxa3towkoiuhztcf0c映射到其内存中的user1。
  • 接下来,所有user1 url请求都将具有此sessionid,因此服务器可以识别darw12sxa3towkoiuhztcf0c映射到user1并提供与他对应的页面。
  • user2当为www.abc.com中的日志分配了不同的会话时,请说pvsc5msqma5nrusmdnn2y13n ...等等。

一些信息

  • 对应此会话ID默认情况下,所有会话数据都存储在RAM中,用于Asp.Net.Website管理员可以将其更改为其他方式。
  • Sessionid存储为与域名对应的Cookie。
  • 这些Sessionid是针对每个Web请求通过网络传输的,因此中间的人可以使用这些sessionid来攻击,这是HTTPS进入图片并节省一天的原因之一。

尝试使用Edit this Cookie Chrome扩展程序,查看并将Cookie从一台计算机复制到另一台计算机。

玩得开心。