当前位置 >> 课程学习 >> 第7章 >> 7.4 Session对象

7.4 Session对象


7.4.2 信息的保持

    ASP.NET的Session状态信息是通过两个机制保持。其一是使用Cookie。当客户端发送一个请求到服务器端时,服务器将发回一个附加 HTTP Set_Cookie头的响应信息,而Cookie的值就是以键/值对的形式保存在该信息里边。在对同一服务器的所有的同步请求中,客户端在HTTP Cookie头中发送Cookie键/值对,然后服务器可以将并发的请求同初始的请求对应起来。ASP.NET使用一个保存会话ID的Cookie来保持会话状态。该ID标识被用来为特定的用户找到与其对应的 HttpSessionState类的实例。类 HttpSessionState仅仅提供了一个通用的数据集,可以在其中保存需要的任何信息。
    ASP.NET用来保持状态的另一个机制工作时无须使用Cookie。一些浏览器被用户设置为禁止使用Cookie或者干脆就不支持Cookie,ASP.NET提供了一种机制来解决这个问题,其主要原理是将一个请求重定向到一个包含ASP.NET状态ID的URL。当该请求被接收到时,这个嵌在URL中的ID被截取下来,服务器通过该ID找到合适的HttpSessionState类的实例。