3

HttpContext.Current.Session["Id"] 和仅使用列表来保存参数有什么区别?

4

2 回答 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 回答