请有人建议我在asp.net中如何实际工作吗? 我在会议的一部分中感到困惑,并想简要了解它,所以请指导我
答案 0 :(得分:49)
ASP.NET使用cookie来跟踪用户。当您第一次尝试向会话写入内容时,会向客户端发送cookie,例如ASP.NET_SessionId
。此cookie由客户端在后续请求中发送。由于这个cookie,服务器能够识别客户端并写入/读取相关的会话数据。重要的是要注意,这个cookie不是持久的(不会在浏览器重启后继续存在)并且使用HttpOnly标志发出,这意味着客户端脚本无法访问它。
除了cookie之外,您还可以将ASP.NET配置为使用隐藏字段,或者在每个请求中将会话ID附加到查询字符串。
因此会话背后的基本思想是实际数据存储在服务器上的某个位置,客户端在每个请求上发送一些ID,以便服务器知道在哪里找到它的数据。
默认情况下,有3个地方可以存储实际的会话数据:
这是一篇关于MSDN的好文章,它探讨了ASP.NET Session State。
答案 1 :(得分:4)
会话:[存储在服务器端]
1.如果您创建会话,则服务器会存储您的会话数据并创建一个SessionID。 [会话数据与SessionID存储在服务器的状态提供程序中]
2.然后服务器将SessionID返回给客户端的浏览器。
3.然后,您可以将返回的SessionID存储在Cookie中。
4.Upcoming随SessionID附加的后续请求可以访问服务器数据。
注意:仅针对当前浏览器会话和特定于用户的会话。