购物车原则上是足够简单的控件但直到ASPNET 它仍然是很难创建的特性原因非常简单如何记住哪些商品存储在购物车中?快速的答案是状态然而状态管理没有想像的那么简单直观第章将更为详细地介绍会话和状态但在这儿需要简要讨论它
这不是新的特性并且公平地说在本书中它一直隐藏在后台因为每个页面都包含ViewState控件该控件包含每个页面的控件内容的加密版本然而这一点与Internet是无状态的实际情况不符合因此每次在页面之间移动时Web服务的行动类似于金鱼都问相同的问题你是谁?因此必须让Web服务器记住自己
前面在ASPNET 中可以通过两种方法中的一种记住购物车中的商品可以创建购物车并将购物车的整个内容粘贴在Session对象中并且在每次某个人注销并再次登录时丢失该列表或者作为选择可以在数据库中创建购物车项然后依赖于每次向购物车添加商品时更新数据库第二种方法的优点当然是如果在开始重新登录时突然丢失Internet连接将仍然具有购物车的内容如果只花费一个小时时间来整理每周的商店只有不得不忍受这个关键点处ISP的ooi%停机时间则这个方法非常有用当然第一种方法可以利用cookie从而如果再次登录它可以链接回购物车但这将依赖于整个成员关系系统从而可以看到漂亮的小型的购物车如何突然成为较大的更为复杂的购物车和成员关系系统
ASPNET 能够利用两种方法中的一些优点(记住连接之间的状态)同时留下一些笨拙的方面(经常的数据库访问在可以使用购物车之前需要作为成员登录)通过利用新的配置文件特性来做到这一点第章中介绍了这种新的配置文件特性将会看到在开始构建购物车控件时如何使用这种特性然而首先需要构建对象使用该对象组成购物车存储内容的基础
ASPNET 入门教程完整版