Asp.net mvc 4 从cookie或请求读取会话id之间有什么区别?

Asp.net mvc 4 从cookie或请求读取会话id之间有什么区别?,asp.net-mvc-4,Asp.net Mvc 4,当您在web.config的cookieless=“false”模式下使用会话时,它将会话id存储在cookie值中(我的意思是aspnet\u sessionId)。我想知道会话id更改的任何原因是否会自动更新此cookie的值 通过这两条语句读取用户会话id的区别是什么: System.Web.HttpContext.Current.Session.SessionID vs 这是一条通往成功的“捷径” 但正如您所说,不能保证将SessionID存储在cookie中。根据应用程序的配置和

当您在
web.config
cookieless=“false”
模式下使用会话时,它将会话id存储在cookie值中(我的意思是
aspnet\u sessionId
)。我想知道会话id更改的任何原因是否会自动更新此cookie的值

通过这两条语句读取用户会话id的区别是什么:

System.Web.HttpContext.Current.Session.SessionID  
vs

这是一条通往成功的“捷径”

但正如您所说,不能保证将SessionID存储在cookie中。根据应用程序的配置和客户端的首选项,SessionID也可以是GET参数

因此,您应该使用
Session.SessionID
来确保始终正确地检索它

Request.Cookies["Aspnet_sessionId"].Value  
System.Web.HttpContext.Current.Session.SessionID  
Request.Cookies["Aspnet_sessionId"].Value