使用HttpContext.Current.Session [“Id”]

时间:2013-03-18 11:03:51

标签: c# web-services session

HttpContext.Current.Session["Id"]与仅使用列表保存参数之间的区别是什么?

2 个答案:

答案 0 :(得分:0)

会话可用跨页面和交叉请求另一方面列表仅用于一个请求。它们都可以存储物体,但它们具有不同的物体寿命。

修改:根据OP的评论

  • InProc模式,用于将会话状态存储在Web服务器的内存中。 这是默认设置。
  • StateServer模式,用于在单独的进程中存储会话状态 称为ASP.NET状态服务。这确保了会话状态 如果重新启动Web应用程序并保留会话,则保留 状态可用于Web场中的多个Web服务器。
  • SQLServer模式将会话状态存储在SQL Server数据库中。这个 确保在Web应用程序中保留会话状态 重新启动并使会话状态可用于多个Web Web场中的服务器。
  • 自定义模式,可让您指定自定义存储提供程序。
  • 关闭模式,禁用会话状态。 MSDN

答案 1 :(得分:0)

ASP.NET是无状态的。因此,如果您将内容存储在一个列表中,那么如果您希望在该请求完成后希望它可用,则需要将该列表保留在某个位置。

将每个请求视为程序的新调用。如果您希望数据在调用中保持不变,那么您必须将其存储在某个位置。