正在加载图片...
第3章ASP应用程序与会话71 旦通过验证,在客户端和基于服务器的应用程序之间就建立了连接,该连接在用户使 用该应用程序的所有时间内一直保持有效。当用户注册到本地 Windows2000服务器上时,这 切便会发生。无论何时,管理员使用“ Active Directory Users and Computers”实用程序(单 击“ Start”菜单的“ Administrative Tools”选项中的“ Directory Management”项)都可以观察 到活动的用户连接。这个过程在许多系统中都相同,例如 Microsoft SQL Server 这种永久的连接意味着:当用户发送指令或请求到服务器上时,服务器会很容易地识别 每个用户。同样服务器的响应或任何其他用户的信息也能直接返回用户。要进一步指出的是 服务器可以比较容易地存储与每个客户相关的值和信息,并在需要的时候提供给相应的客户。 当然,服务器应用程序能够拥有主全局变量,以便于用户在需要的时候进行访问 这种识别每个客户端的请求并在内存中保存相关用户的值的能力构成状态。可以认为状 态代表应用程序的值、环境以及用户的内部变量,并贯穿于应用程序和用户连接的整个过程 3.1.2状态的重要性 如果打算创建与用户进行交互的基于Web站点的应用程序,而不是仅显示独立页面的Web 网站,必须能够为每个用户提供独立的状态。这可能只是记住他们的名字,也可能要为每个 用户存储对象引用或不同的记录集。如果不能这样做,ASP网页就不能做更多的事情,因为 该页面执行完成时,页面中的变量和其他相关资料都破坏了。当用户请求下一个页面时,这 个页面提供的所有信息将全部失去 因此,需要找到一种方法,保存每个访问者的状态。能够存储对所有用户而言的全局 是非常重要。例如,一个Web风格的访问或页面点击计数器,它不为每个用户提供自己的计 数器,用户们通常想要看到访问者的总数,而不仅仅是他们自己访问的次数。访问者的数目 需要与应用程序级状态一起存储,而不是与用户级状态一起存储 这不是一个刚出现的问题,自从商用站点占据了Web,就已经存在,甚至更早些。所以 已有许多在web上存储状态的传统的解决方案。Web站点管理员想要了解访问者以前是否曾访 问过他们的网站,如果访问过,访问过多少次?是否经常访问?还定期访问其他什么网站等 样可以更好地制定其广告目标。所有这些都要求一种方法来存储有关用户在访问时所产生 的网页请求或每次访问间的信息。 3.13在Web上创建状态 在页面请求和站点访问之间提供状态常用的方法是通过 cookie。我们在前面的章节中已经 看到,如何在客户端的计算机中存放相应的值,这些值与每个页面请求一起发送给对此 cookie 有效的域。通过用ASP检查和更新 cookie,在某种程度上能够保持一个状态。可以使用所包含 的信息来识别用户,然后把用户连接到一个已存储相应值的集合 例如,可以检测一个用户请求是否包含一个站点指定的 如果不包含,则为该用户 配一个某种类型的标识,指明一个数量,并存储在带有一个长有效期的 cookie中。以后该用 户对这个站点的每一次访问,都能够检测到 cookie并更新所包含的信息。同时可以收集有关访 问的次数和持续时间的数据,并存储在服务器上,以备将来使用 但是,如果用户转移到另一个计算机,或删除了 cookie,或者他们的浏览器拒绝接收发送 给他们的 cookie,会发生什么事情呢?在这种情况下,不能维持状态,因为下一次不能识别他一旦通过验证,在客户端和基于服务器的应用程序之间就建立了连接,该连接在用户使 用该应用程序的所有时间内一直保持有效。当用户注册到本地 Windows 2000服务器上时,这 一切便会发生。无论何时,管理员使用“ Active Directory Users and Computers”实用程序(单 击“S t a r t”菜单的“Administrative To o l s”选项中的“Directory Management”项)都可以观察 到活动的用户连接。这个过程在许多系统中都相同,例如 Microsoft SQL Server。 这种永久的连接意味着:当用户发送指令或请求到服务器上时,服务器会很容易地识别 每个用户。同样服务器的响应或任何其他用户的信息也能直接返回用户。要进一步指出的是 服务器可以比较容易地存储与每个客户相关的值和信息,并在需要的时候提供给相应的客户。 当然,服务器应用程序能够拥有主全局变量,以便于用户在需要的时候进行访问。 这种识别每个客户端的请求并在内存中保存相关用户的值的能力构成状态。可以认为状 态代表应用程序的值、环境以及用户的内部变量,并贯穿于应用程序和用户连接的整个过程。 3.1.2 状态的重要性 如果打算创建与用户进行交互的基于 We b站点的应用程序,而不是仅显示独立页面的 We b 网站,必须能够为每个用户提供独立的状态。这可能只是记住他们的名字,也可能要为每个 用户存储对象引用或不同的记录集。如果不能这样做, A S P网页就不能做更多的事情,因为 该页面执行完成时,页面中的变量和其他相关资料都破坏了。当用户请求下一个页面时,这 个页面提供的所有信息将全部失去。 因此,需要找到一种方法,保存每个访问者的状态。能够存储对所有用户而言的全局值 是非常重要。例如,一个 We b风格的访问或页面点击计数器,它不为每个用户提供自己的计 数器,用户们通常想要看到访问者的总数,而不仅仅是他们自己访问的次数。访问者的数目 需要与应用程序级状态一起存储,而不是与用户级状态一起存储。 这不是一个刚出现的问题,自从商用站点占据了 We b,就已经存在,甚至更早些。所以 已有许多在We b上存储状态的传统的解决方案。 We b站点管理员想要了解访问者以前是否曾访 问过他们的网站,如果访问过,访问过多少次?是否经常访问?还定期访问其他什么网站等。 这样可以更好地制定其广告目标。所有这些都要求一种方法来存储有关用户在访问时所产生 的网页请求或每次访问间的信息。 3.1.3 在We b上创建状态 在页面请求和站点访问之间提供状态常用的方法是通过 c o o k i e。我们在前面的章节中已经 看到,如何在客户端的计算机中存放相应的值,这些值与每个页面请求一起发送给对此 c o o k i e 有效的域。通过用A S P检查和更新c o o k i e,在某种程度上能够保持一个状态。可以使用所包含 的信息来识别用户,然后把用户连接到一个已存储相应值的集合。 例如,可以检测一个用户请求是否包含一个站点指定的 c o o k i e。如果不包含,则为该用户 分配一个某种类型的标识,指明一个数量,并存储在带有一个长有效期的 c o o k i e中。以后该用 户对这个站点的每一次访问,都能够检测到 c o o k i e并更新所包含的信息。同时可以收集有关访 问的次数和持续时间的数据,并存储在服务器上,以备将来使用。 但是,如果用户转移到另一个计算机,或删除了 c o o k i e,或者他们的浏览器拒绝接收发送 给他们的c o o k i e,会发生什么事情呢?在这种情况下,不能维持状态,因为下一次不能识别他 第 3章 A S P应用程序与会话计计71 下载
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有