基于.NET和Ajax的电子商务网站设计与实现
摘要】本文基于ASP.NET和Ajax技术,采用三层架构设计实现了一种电子商务网站,结合网上商店的商务模式,确定了网站的总体结
构和模块功能,完成了网站的设计与开发。
【关键词】ASP.NET;Ajax技术;三层架构
0.引言
电子商务是一种以网络科技为依托的商务形式,这种商务形式正
在全世界范围内发展扩大。
而网上商店作为一种常见的企业对消费者
(Business to Customer,B2C)电子商务的具体形式,在上已经
非常普及。
随着网上商店的快速增长,网上商店的设计和实现技术也
迅速发展,出现了多种较成熟的实现技术,本文采用ASP.NET平台和
Ajax技术来对网站进行设计和开发的。
1.电子商务网站分析与设计
1.1电子商务网站分析
电子商务网站分为两个部分,分别为:网站前台和网站后台。
每个
部分根据功能不同又分为几个子模块,如新闻发布、登陆注册、商品浏
览、购物车、顾客留言板等。
本网站实现的主要功能如下:
(1)新闻发布
将超市内外的新闻信息栏目和业界动态等信息集中起来发布的
一种网站应用程序。
顾客登录网站就能知道此网络超市的一些动态新
闻,比如说一些促销、降价活动、天气情况、商品的动态市场价格等。
(2)登录注册
这个模块实现一个新的客户注册和老的客户登录,这两个功能基
本上每个电子商务网站上都有提供。
(3)商品浏览
实现顾客可以在网络超市中随意浏览商品,商品要根据商品的类
别来进行分类的,用户可以单击每一分类的链接来进入每一分类,查
看其详细信息。
进入每一商品类别之后,商品是根据每个产品的类别
再分类的。
例如进入书的这一大的类别,书又可以分为很多种:小说、
计算机相关的书、管理方面的书等。
(4)购物车
购物车中已有的商品,包括商品名、商品数量、单价、总价以及是
否有库存。
在最后确定订单时,用户可以修改每一个商品的数量,更新
购物车。
但是一旦单击了结账生成订单,购物车就不能修改了。
(5)顾客留言板
客户反馈是网站与访客进行交互的基本应用。
1.2网站实体设计
在网络超市中有以下业务实体:用户、具体商品、商品系列、商品
类别、订单、订单项、购物车和购物车中的具体商品。
即:
①用户:代表一个用户实体,主要包括用户的详细信息,如用户
名、密码等。
②具体商品:代表每一个具体的商品信息,包括商品的名字价格
等。
③商品系类:代表一系类商品,如计算机类书籍。
④商品类别:代表一类商品,如书是一类,饮料是一类。
⑤订单:代表用户的订单,主要包括用户信息、订单名、具体内容
等。
⑥订单项:代表订单中具体项,一个订单项包括一个商品的购买
情况。
⑦购物车:代表用户的购物车,是一个虚拟的概念。
⑧购物车中的具体商品:代表没一个具体的购物项。
这些实体之间的关系如图1所示。
1.3数据库设计
本网站采用关系型数据库SQL Server 2000作为后台数据库,共
有8个数据表,分别为:用户表,订单表,商品类别表,商品系列表,具
体商品表,订单项表,新闻管理表以及论坛管理表。
以具体商品表为
1.4网站结构的设计
在网站的开发过程中,采用微软最新的.NET三层架构设计,即将
网站分为页面表示层,业务逻辑层和数据访问层。
页面表示层是最外
层,用于显示数据,实现用户与网站的交互。
业务逻辑层是中间层,主
要处理表示层的输入或调用数据层返回的数据结果。
数据访问层是整
个网站的最底层,是对后台数据库中的数据进行查询,修改,删除等操
作管理。
三层架构层次分明,层与层之间不能跨越,提高了程序的可维
护性和可扩展性,是目前应用最广泛的一种软件设计方式。
2.网站开发的关键技术
2.1 ADO.NET数据库访问技术
本网站采用三层架构设计,通过中间层的ADO.NET提供对数据
库的访问服务,保证每个用户都能及时正确的连接到有限资源的数据
库,并且按用户希望的那样保持用户连接的打开状态。
方法是保持少
数几个立即可用的已打开的物理网络连接,把当前不使用的物理网络
连接传递给请求打开数据库连接的请求方。
这样就可以满足众多用户
对数据库的并发操作,避免其它用户在数据库物理网络连接接近饱和
的情况下不能访问数据库。
2.2 ASP.NET AJAX技术
Ajax的英文全称为Asynchronous JavaScript and XML,即异步
JavaScript和XML技术。
传统的Web应用是当用户向Web服务器发
送一个请求时,服务器接受并处理传来的请求,然后返回一个新的页
面。
这个做法浪费了许多带宽,因为在前后两个页面中的大部分
HTML代码往往是相同的,浪费了服务器的响应时间。
而Ajax应用仅向服务器发送并取回必需的数据,它使用基于
XML的Web Services接口,并在客户端采用JavaScript处理来自服务
器的响应。
具体做法:在网站下的系统配置文件web.config中先添加相应的配置代码,然后在用户层
的前台页面中加入ScriptManager控件来显式地标明该页面使用地是
ASP.NET AJAX框架,最后利用UpdatePanel控件来实现页面的局部
刷新技术,将需要刷新的页面内容加入本控件内。
这样当每次浏览器
向服务器发出请求之后,只有该页面内的部分才会被刷新,代替了以
往整个页面都需要回调来获取请求的回调方式,大大提高了服务器的
响应时间。
3.网站的具体实现
网站以登陆子功能为例,它较网站注册容易一些,它只需要验证
用户提交的信息和数据库的信息是否一致。
当用户已经拥有一个账
号,就可以进行登录。
当用户登录网站首页时,可以点击登陆链接进行
登录。
如果登录成功,则返回到网站的首页。
用户成功登录后,在网站
系统的右上角有一个链接,单击进入可以修改个人信息。
4.结束语
本文采用最新的ADO.NET和Ajax页面无刷新技术,设计和开发
了一种电子商务网站系统,并经过测试,达到了预期的效果。
同时,网
站采用的三层架构模型使得程序设计更加清晰,为以后网站的升级和
维护带来了很大的方便。
【参考文献】
[1]陈冠军.精通ASP.NET 2.0企业级项目开发[M].北京:人民邮电出版社,
2007.
[2]Sahil Malik著,汤涛,邰晓翠译.ADO.NET 2.0高级程序设计[M].北京:人
民邮电出版社,2007.
[3]陈冠军.ASP.NET 2.0 Ajax-Web开发技术详解[M].北京:人民邮电出版社,
2007.
前几天有关注到Megalayer云服务器提供商有打算在月底的时候新增新加坡机房,这个是继美国、中国香港、菲律宾之外的第四个机房。也有工单询问到官方,新加坡机房有包括CN2国内优化线路和国际带宽,CN2优化线路应该是和菲律宾差不多的。如果我们追求速度和稳定性的中文业务,建议还是选择CN2优化带宽的香港服务器。这里有要到Megalayer新加坡服务器国际带宽的测试服务器,E3-1230配置20M国际带...
香港最便宜的vps要多少钱?最便宜的香港vps能用吗?香港vps无需备案,整体性能好,而且租用价格便宜,使用灵活,因为备受站长喜爱。无论是个人还是企业建站,都比较倾向于选择香港VPS。最便宜的香港vps能用吗?正因为有着诸多租用优势,香港VPS在业内颇受欢迎,租用需求量也在日益攀升。那么,对于新手用户来说,香港最便宜的vps租用有四大要点是务必要注意的,还有易探云香港vps租用最便宜的月付仅18元...
优惠码50SSDOFF 首月5折50WHTSSD 年付5折15OFF 85折优惠,可循环使用荷兰VPSCPU内存SSD带宽IPv4价格购买1核1G50G1Gbps/3TB1个$ 9.10/月链接2核2G80G1Gbps/5TB1个$ 12.70/月链接2核3G100G1Gbps/7TB1个$ 16.30/月链接3核4G150G1Gbps/10TB1个$ 18.10/月链接阿联酋VPSCPU内存SS...