ASP.NET Lab

The Best Web, The Best Future

博客园 首页 新随笔 订阅 管理

ASP.NET 会话状态允许你为用户在不同的 ASP.NET 页面导航之间存储并获取状态值。因为 HTTP 是无状态的协议,所以这意谓着 Web 服务器会把页面的每个 HTTP 请求都视为是相对独立的;默认时,服务器在先前的请求期间并不知道变量的值。因此,建立需要对跨请求的状态信息(如应用程序中的购物车、数据滚动、等等)进行维护的 Web 应用程序将是一个挑战。ASP.NET 会话状态会在一个有限的时间段期间(如会话过程)从相同浏览器中对被接收的请求进行识别,并为该会话在持续期间提供持续保持变量值的能力。

ASP.NET 会话状态在默认的时候是为所有 ASP.NET 应用程序所启用的。使用 Session 属性能够很容易就设置并获取 ASP.NET 会话状态的变量,会话变量中的值是作为一个使用名称作为索引的集合而被存储的。例如,如下代码实例创建了会话变量 FirstName 和 LastName 来展示某个用户的姓名,并使用 TextBox 控件中的所获取的值对其进行设置。

Session["FirstName"] = FirstNameTextBox.Text;
Session["LastName"] = LastNameTextBox.Text;

默认时 ASP.NET 会把会话信息存储到应用程序的内存空间中。你可以有选择地使用一个独立于标准的服务来存储会话信息,所以会话信息会在 ASP.NET 应用程序重启之后被保持,并且 SQL 服务器或自定义数据存储中的会话信息将被 Web 农场(同样在 ASP.NET 应用程序重启之后被持续保持)中的多个 Web 服务器可用。关于更多信息,请参考:[会话的状态模式]。

ASP.NET 同样提供了一些其他的选项在除会话状态之外的应用程序中持续保持数据。关于两者间的比较,请参考:[ASP.NET 状态管理的建议]。

posted on 2007-01-15 12:31  Laeb  阅读(315)  评论(0编辑  收藏  举报