我想知道如果HttpContext.Session使用cookie来存储数据。一个工作同事告诉我,在mobi网站,手机一般没有cookie,因此你没有会议。我一直认为会话是存储在服务器端的数据,不依赖于客户端对象,请解释如果我错了。
我读了this
解决方法
在ASP.NET中;你有一个会话cookie。此cookie用于标识您的会话;但实际上不包含会话信息。
默认情况下,ASP.NET会将会话信息存储在工作进程(InProc)内部的内存中,通常为w3wp.exe。还有其他存储会话的模式,例如Out of Proc和sql Server。
ASP.NET默认使用cookie;但可以配置为“cookieless”,如果你真的需要它;而是将会话ID存储在URL本身中。这通常有几个缺点;例如链接的维护变得困难,人们为具有过期会话ID的URL设置书签(因此您需要处理过期的会话ID等)。大多数现代手机,甚至非智能手机,都支持cookie。旧手机可能不会。是否需要支持cookieless会话取决于你。
如果您的网址如下所示:
http://www.example.com/page.aspx
无Cookie网址如下所示:
http://www.example.com/(S(lit3py55t21z5v55vlm25s55))/page.aspx
其中lit3py55t21z5v55vlm25s55是会话ID。
您可以了解有关ASP.NET的会话状态here的更多信息