HttpContext.Current.Session["Id"]
和仅使用列表来保存参数有什么区别?
问问题
1258 次
2 回答
0
会话可跨页面使用,另一方面,跨请求列表仅适用于一个请求。它们都可以存储对象,但它们具有不同的对象生命周期。
编辑:基于OP的评论
- InProc 模式,将会话状态存储在 Web 服务器的内存中。这是默认设置。
- StateServer 模式,它将会话状态存储在称为 ASP.NET 状态服务的单独进程中。这可确保在重新启动 Web 应用程序时保留会话状态,并且还使会话状态可用于 Web 场中的多个 Web 服务器。
- SQLServer 模式将会话状态存储在 SQL Server 数据库中。这可确保在重新启动 Web 应用程序时保留会话状态,并且还使会话状态可用于 Web 场中的多个 Web 服务器。
- 自定义模式,可让您指定自定义存储提供程序。
- 关闭模式,禁用会话状态。MSDN
于 2013-03-18T11:04:39.543 回答
0
ASP.NET 是无状态的。因此,如果您将内容存储在列表中,如果您希望该列表在该请求完成后可用,则需要将该列表保存在某处。
将每个请求视为对程序的新调用。如果您希望数据在调用中保持不变,那么您必须将其存储在某个地方。
于 2013-03-18T11:04:52.173 回答