我想知道HttpContext.Session是否使用cookies来存储数据.一位同事告诉我,在mobi网站上,手机通常没有cookie,因此没有会话.我一直认为会话是存储在服务器端的数据,不依赖于客户端对象.如果我错了,请解释.

我读了this.

推荐答案

在ASP.网你有一个会话cookie.此cookie用于识别which个会话是否属于您;但实际上并不包含会话信息.

默认情况下,ASP.NET将在辅助进程(InProc)内的内存中存储会话信息,通常为w3wp.exe.存储会话还有其他模式,例如进程外模式和SQL Server模式.

默认情况下,ASP.NET使用Cookie;但是如果您确实需要的话,可以将其配置为"无Cookie";相反,它会将您的会话ID存储在URL本身中.这通常有几个缺点;例如,链接的维护变得困难,人们用过期的会话ID为URL添加书签(因此您需要处理过期的会话ID,等等).大多数现代手机,甚至非智能手机,都支持cookie.较旧的手机可能不会.您是否需要支持无Cookie会话由您决定.

如果您的URL如下所示:

http://www.example.com/page.aspx

无Cookie的URL如下所示:

http://www.example.com/(S(lit3py55t21z5v55vlm25s55))/页.aspx

其中lit3py55t21z5v55vlm25s55是会话ID.

您可以了解有关ASP.NET的会话状态here的更多信息

Asp.net相关问答推荐

实体框架核心:DBCommand执行得更快,但总时间要慢10倍

在Docker Windows中,ASP.NET核心容器在自定义端口8080上运行,但ASP.NET容器在固定端口80上运行

在 Web.Config 的 Location Path 元素中指定多个目录

如何在asp.net中单击按钮的新选项卡中打开页面?

SignalR + Autofac + OWIN:为什么 GlobalHost.ConnectionManager.GetHubContext 不起作用?

获取没有主机的 url 部分

Automapper - 映射器已初始化错误

解析 JSON 响应的最简单方法

从 ASP.NET 中的 POST 方法中检索数据

您如何以编程方式填写表格并发布网页?

Asp.net 中的下拉列表验证使用必填字段验证器

在生产中使用 LocalDb 是否正常?

实体框架:如何解决外键约束可能导致循环或多个级联路径?

如何在实体框架中添加表?

如何通过 Google 图表 API 使用 X 轴中的日期?

将列表转换为 json 格式 - 快速简便的方法

ASP.NET 中的嵌套中继器

从物理路径获取相对虚拟路径

ASP.NET Web 窗体中的 jQuery 验证插件

Appdomain 回收究竟是什么