会话状态

HTTP 是无状态的。ASP.NET 会话状态是一个有助于维护 HTTP 页面请求之间状态的框架。

会话与类级变量的不同之处在于它能够在回发和不同页面之间保持可用。例如,如果用户在同一个应用程序中被重定向到 Page2.aspx,则在 Page1.aspx 中创建的会话变量将可用。

此外,与在页面级别声明的静态变量相比,会话变量对于不同的用户是独立的。这意味着,更改一个用户的会话变量的值不会影响其他用户的同一变量的值。

虽然 ViewState 可以用于临时存储用户的数据,但它不允许跨多个页面保存数据。此外,viewstate 是页面的一部分并发送给客户端。因此,与用户相关的任何关键信息都无法保存在 ViewState 中,这就是会话变量变得有用的地方。