Dav*_*vid 38 asp.net asp.net-mvc-3
我想知道是否HttpContext.Session
使用cookie来存储数据.一位同事告诉我,在手机网站上,手机通常没有cookie,因此你没有会话.我一直认为会话是存储在服务器端的数据,并且不依赖于客户端对象,请解释我是否错了.
我看了这个.
vcs*_*nes 55
在ASP.NET中; 你有一个会话cookie.此cookie用于标识哪个会话是您的; 但实际上并不包含会话信息.
默认情况下,ASP.NET通常会将会话信息存储在工作进程(InProc)内部的内存中w3wp.exe
.还有其他存储会话的模式,例如Out of Proc和SQL Server.
ASP.NET默认使用cookie; 但如果你真的需要,可以配置为"无cookie"; 而是将您的会话ID存储在URL本身中.这通常有几个缺点; 例如链接的维护变得困难,人们为具有过期会话ID的URL添加书签(因此您需要处理过期的会话ID等).大多数现代手机,甚至是非智能手机,都支持cookies.较旧的手机可能没有.您是否需要支持无cookie会话取决于您自己.
如果您的网址如下所示:
http://www.example.com/page.aspx
无cookie的URL如下所示:
http://www.example.com/(S(lit3py55t21z5v55vlm25s55))/page.aspx
lit3py55t21z5v55vlm25s55
会话ID 在哪里.
您可以在此处了解有关ASP.NET会话状态的更多信息
Guf*_*ffa 26
会话数据存储在服务器上,但它还在cookie中存储id字符串以标识用户.
如果不支持cookie,则无法存储id字符串,并且当用户发出另一个请求时,服务器无法配对会话.
会话ID只是服务器生成的数字(来自计数器或随机),因此它不包含您存储在会话对象中的数据中的任何信息.
(该应用程序还可以配置为将会话放在URL而不是cookie中.这使您可以使用没有cookie的会话,但它会破坏您的网站.)
Mau*_*ark 16
如今它可以是两者.
服务器端会话已在其他帖子中解释过.会话存储在服务器上,但它需要一个cookie来存储指示谁正在请求会话值.
W3C定义的WebStorage新概念展示了如何在需要时进行客户端会话.以下是WebStorage的HTML5实现:https: //code.google.com/p/sessionstorage/
归档时间: |
|
查看次数: |
69058 次 |
最近记录: |