当前位置: 首页 > 图文教程 > 网络编程 > ASP > 开发BtoC电子商务系统(ASP.NET)

ASP
ASP技巧:在Access数据库中重命名表
用ASP编程实现网络内容快速查找
比较ASP生成静态HTML文件的几种方法
ASP实例:实现邮件发送普通附件和嵌入附件
如何用ASP实现去掉三个最高分和三个最低分
ASP实例:Access为后台数据库的网站统计系统
用标签替换的方法生成静态网页
例程:用ASP判断文件地址是否有效
学ASp动态网页必备:常用的38个函数
ASP教程:初次接触学习ASP脚本程序
ASPJPEG水印中关于文字水印的帮助文档(中英文对照)
ASP例子:ASP把汉字转化为拼音的函数
ASP教程:学习ASP应用Cookies的技巧
ASP入门:认识ASP程序所使用的几种脚本语言
初学者的ASP教程:常用ASP内置函数
ASP初级教程之ASP对表单和用户输入的处理
学习ASP文件引用的方法
用ASP编写更人性化的弹出窗口程序
谈谈学习ASP动态网页制作技术的编程心得
用ASP程序实现网站在线人数统计

开发BtoC电子商务系统(ASP.NET)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 25 ::
收藏到网摘: n/a

       原文还有两个图
  在对ASP.NET Web表单的编程模型有了基本的认识后,通过应用于现实的开发案例来提高对ASP.NET Web表单内在运作机制的了解,以及由此带来的对系统架构的掌控是很有必要的。我们没有为编程而编程的高贵姿态,我们深深懂得能够开发出高效,健壮,强大的应用程序始终是编程的终极。我们下面通过一个完整的BToC电子商务系统的开发流程来展示ASP.NET Web表单是怎样具体搭建面向下一代网络平台的。
  这是一个典型的基于B/S(浏览器/服务器) 三层架构的食品,饮料电子商务零售系统——“玉米地零食店”。前端为产品浏览器,为消费者提供浏览/选购商品,下订单购物等各个环节的功能;中间层为销售商的税率,优惠等商务逻辑;后端为与整个零售系统相关的产品,顾客,订单等数据库。我们采用ASP.NET+IIS 5来构建前端和中间层,SQL Server 2000来管理后端数据库,整个系统运行于Windows XP。相关硬件配置只要满足上述软件的基本配置,系统性能便可保证。下面为该网上零售系统的前端界面图示:
  
  在编制Web 表单商业前端和中间层之前,我们有必要对后端数据库做一个简单的介绍。后端数据库 CornfieldGrocer 由4个表组成:产品类别表Categories ,产品细节表 Details ,产品表 Products ,客户信息表Customers。考虑到演示系统的的简洁性,我们没有添加相关的存储过程,视图,规则等,这些在实际的系统的开发中对提高系统的性能是很有必要,尤其是在大数据量的情况下。下面为4个表的字段的图示介绍:
  
  各个表的字段的表义已经相当清楚,我们不在这里赘述。我们下面向大家展示一下整个电子商务零售系统——“玉米地零食店”的物理文件组成及其结构,下图为示意图:
  
  所有的文件位于ASP.NET站点目录CornfieldGrocer下,其中还有Web表单页面用到的图片子目录Images下的文件就不再在这里列出了。
  下面我们开始编写前端和中间层代码,为了更清楚地展示Web Form ASP.NET的底层代码构造,我们采用记事本来完成整个代码的编写过程。需要说明的是在真正的工程项目开发实践中,如能借助Visual Studio.Net等可视集成开发工具,开发效率会大大提高。但在ASP.NET代码的底层机制没有谙熟的情况下,笔者强烈建议初期的开发学习不妨放在Windows系统自带的“记事本”这一简单却能够把代码暴露得相当清晰的工具里。
  由于篇幅有限,我们不可能将所有的代码都在这里展示给大家。如前所述,web.config为每个站点级的基于XML的配置文件,负责一些ASP.NET的安全认证,编码选择,诊断测试等ASP.NET的配置工作,为浏览器请求ASP.NET Web表单时通过 IIS处理后的第一站。下面为其内容:
  
  <configuration>
  <system.web>
  <globalization requestEncoding="UTF-8" responseEncoding="UTF-8" />
  </system.web>
  </configuration>
  
  
  容易看到这里的配置内容相当简单,仅指定请求/发送的编码为“UTF-8”。我们对此不再赘述。
  global.asax文件及其由后端代码文件global.asax.cs编译成的Bin\CornfieldGrocer.dll共同组成该网上零售系统的ASP.NET应用程序定义。我们先来看文件global.asax:
  
  <%@ Application Inherits="CornfieldGrocer.Global" %>
  
  该文件只有一行指示符,它表示ASP.NET应用程序的定义继承自Global类,而Global类正是在global.asax.cs文件中定义:
  
  using System;
  using System.Collections;
  using System.ComponentModel;
  using System.Web;
  using System.Web.SessionState;
  
  namespace CornfieldGrocer
  {
  public class Global : System.Web.HttpApplication
  {
  protected void Session_Start(Object sender, EventArgs e)
  {
  if (Session["ShoppingCart"] == null)
  {
  Session["ShoppingCart"] = new CornfieldGrocer.OrderList();
  }
  }
  }
  }
  
  在Global类里,我们定义了区段(Session)意义下的购物卡(ShoppingCart)——这里采用了C#中的索引器。购物卡的类型为CornfieldGrocer命名空间中的OrderList类,在CornfieldGrocer.cs文件中有定义。我们当然也可以在global.asax文件中用脚本语言的形式将上面两个文件的内容合并起来,但那不是ASP.NET推荐的做法,因为脚本语言的第一次执行还