Profile实现购物车.docx
《Profile实现购物车.docx》由会员分享,可在线阅读,更多相关《Profile实现购物车.docx(11页珍藏版)》请在冰点文库上搜索。
Profile实现购物车
Profile实现购物车
Profile属性
Profile作用
存储和使用唯一与用户对应的信息
展现个人化版本的Web应用程序
用户的唯一身份标识,为用户再次访问时识别用户
购物网站分类:
B2B:
BusinessToBusiness阿里巴巴
B2C:
BusinessToCustomer当当网
C2C:
CustomerToCustomer淘宝网
购物车是电子商务网站核心技术之一
购物车特点:
私有性:
每位用户操作自己的购物车
安全性:
保障用户支付信息的安全
稳定性:
可以支持高负载
持久性:
购物车内的物品不能丢失
各种站点对购物车的要求:
常用的web保存数据的方式:
Session
Cookie
Application
Cache
XML
文件
数据库
Session(会话)
只要Session不超时,保存在Session中的数据就不会丢失
数据的私有性
会话结束,释放资源
易丢失,超时时间难确定
Session代码实现
将数据保存到Session的C#代码
Session["键名"]=值 ;
Session["UserInfo"]=UserTable ;
Cookie网站保存到客户端的少量文本数据
Cookie理论最大保存8K的数据
可自定义有效期
不占用服务器资源
如果Cookie文件没有丢失,则有较好的稳定性
易丢失且安全性差
Cookie代码实现:
写:
Response.Cookies["UserInfo"].Value="Tom"
读:
stringuName=Request.Cookies["UserInfo"] ;
Aspnetdb在提供程序中的作用
Aspnetdb表关系
Users表
Profile表
用户自定义属性最后都是序列化成一个或两个数据块,存放在PropertyValuesString(序列化为sting、Xml)或PropertyValuesBinary(序列号为Binary)两个(或其中之一)字段中,因此要求用户自定义属性必须支持序列化。
序列化方式可由web.config中的serializeAs指定,SqlProfileProvider默认的序列化方式为string
提供程序模型:
1、根据用户配置文件的设置实现数据自动存储(购物车存储)
2、提供添加和删除用户以及改变密码
为Asp.Net的登录及注册控件提供自动化数据存储
3、创建用户定义的用户角色存储库(在匿名和注册用户之间进行身份转换)
4、存储站点地图
5、为会话状态引入更新的数据存储类型
增强的Session持久化,仅将需要的数据持久存储
将类的对象以XML或二进制类型存储到数据库
Asp.Net提供程序基类
Asp.NetProfile属性的作用
存储和使用唯一与用户对应的信息
展现个人化版本的web应用程序
用户的唯一身份识别,再次访问时识别该用户
Profile相关类
MicrosoftSQLServer提供程序
成员资格SqlMembershipProvider类
角色管理SqlRoleProvider类
个性化配置SqlProfileProvider
Web部件个性化设置SqlPersonalizationProvider类
Web事件SqlWebEventProvider类
提供程序的基类为ProviderBase
提供了可重写的方法Initialize,用来从配置文件web.config里读取配置的信息并初始化Provider模型
Membership的Provider模型
Profile的Provider模型
角色管理SqlRole的Provider模型
ProviderBase基类
PublicabstractclassProviderBase
重要方法:
Initialize
web.config文件中的Profile配置节
Inherits=“fullyqualifiedtypereference”
automaticSaveEnabled=“true|false”
defaultProvider=“providername”>
在此添加属性
提供程序设置
购物车
抽象选购商品类
抽象购物车类
为购物车添加对商品的操作方法
购物车分析
购物车是保存商品容器,其中保存的是商品项
购物项CartItem
ID标识
Name商品名称
Price单价
Quantity商品数量
CartItem(intID,stringName,decimalPrice)
购物车类
Cart类
Items商品集合(容器)
CartItems获取全部商品
Total商品总价格
方法
添加商品
删除商品