【发布时间】:2015-10-18 21:13:38
【问题描述】:
看来我可以随时读取SessionID,即使当前不存在cookie!
Dim SessionID As String = Request.Cookies("ASP.NET_SessionId").Value
此代码将始终返回一个值,大概是 IIS 服务器端持有的 ID。
cookie 似乎仅在发出存储会话信息的请求时生成。
这是为什么?
还有……
如果我使用会话状态服务器,SessionID 是否与 cookie SessionID 不同,如果其中一个 ID 丢失或重置,哪个优先?
编辑
如果 app_pool 被重置。必须创建一个新的会话 ID,这会导致会话 cookie 也被更新吗?因为这可能会给已经登录的用户造成潜在的冲突。
【问题讨论】:
-
当 session cookie 丢失(删除、过期)时,asp.net 会生成另一个来保存 sessionId,这样在任何时候,你都有一致的方式来引用 Session("something" ) 并获得预期的行为。
标签: c# asp.net vb.net session cookies