成功开发 Web 应用程序的难题之一便是:当用户从应用程序中的一页转到另一页时,要维护整个访问或“会话”期间的用户信息。HTTP 是非状态协议,也就是说 Web 服务器将每个网页请求都当作独立的请求,服务器不保留以前请求的任何信息,即使它们只早于当前请求几秒钟。这种无法记忆先前请求的缺陷使得编写应用程序很困难,比如编写联机目录,应用程序可能要跟踪当用户在目录中不同页间跳转时所选的目录项目。
ASP 为管理会话信息问题提供了独特的解决方案。使用 ASP Session 对象和服务器生成的特定用户 ID,可以创建更聪明的应用程序,以便标识每次访问的用户并收集信息,应用程序随后就可以利用这些信息来跟踪用户喜好或选择。
要点 ASP 通过 HTTP cookie 指派用户 ID,cookie 是存储在用户浏览器中的小文件。因此,如果正在为不支持 cookie 的浏览器创建应用程序,或者如果用户浏览器设置为拒绝 cookie,则不要使用 ASP 的会话管理功能。
如果用户在指定时间间隔内没有请求或刷新应用程序中的网页,会话将自动结束。默认情况下该值为 20 分钟。可以通过设置 Internet 信息服务管理单元“应用程序选项”属性页中的会话超时。 该值的设置取决于 Web 应用程序的要求以及服务器的内存容量。例如,如果希望浏览 Web 应用程序的用户在每页上只停留几分钟,则可以使会话超时值远低于默认值。会话超时过长可能导致打开的会话太多,这将增加服务器内存资源的负担。