前言 欢迎阅读本书,本书将利用可扩展模块创建基于健壮的体系结构基础的电子商务解决方案。 本书将遵循Marco Bellinaso和Kevin Hoffman在《ASP.NET Web站点高级编程》一书中采用的方法,在每个章节都采用了“提出问题— 设计方案— 解决方案”模式,如下文所示: ● 确认需要完成的任务 ● 简要说明如何完成任务 ● 最后使用Visual Studio构建该软件 在本书结束的时候,您将可提高您的ASP.NET编程技巧,开发出具有良好创意、可扩展的电子商务站点,并且对类似站点的基层设计有了更好的认识。本书不仅仅介绍代码、设计,而且还介绍如何创建适应商业需求的网站。 内容简介 第1章开始介绍本书将开发哪些内容、开发的原因,最后介绍如何进行开发。 第2章将讲述确认体系结构中各种需求的过程,为所需构建的应用程序设计适当的结构,以便其他的应用程序也可以重复使用,最后,您将可了解本章所创建的体系结构的源代码。 对于体系结构的数据访问技术,我们会用到托管容器式持久性(Container-Managed Persistence,简称CMP)模型。CMP是一种设计模式,它使业务对象无法直接了解到数据来自哪里以及如何存储。随着本书的深入,您会发现,在结构上所花的精力是物有所值的。 在第3章中我们将开始处理电子商务网站的内容,首先介绍产品目录。本章将介绍在创建快速、高效和足够灵活的产品目录、以构造功能齐全的电子商务网站时,将面临的一些困难。 设计网站的过程中,最重要的事情之一就是让顾客能容易的找到您的产品。这听起来可能像一件简单的任务,但是在开发一种好的产品搜索的设计和解决方案时,需要考虑到多种不同的因素。在第4章中分析了在开发产品搜索的解决方案中通常会出现的问题,然后,我们会为网站实现产品搜索的设计方案。 顾客在能够浏览和搜索产品之后,就需要将产品放入购物车中了。第5章在讲解实现购物车的设计方案之前,将首先讨论如何建立购物车,最后再了解实现设计的源代码。 第6章将介绍一些网站为用户计划购买物品而提供并鼓励用户使用的一些主要工具:期望列表(wish list)。我们将具体了解期望列表解决的问题,以及期望列表产生的各种问题。然后,将会设计并实现我们自己的期望列表解决方案。 第7章将讨论有关打折销售和优惠券等方面的内容。商家需要接受的事实是,任何顾客都很有可能将您的产品价格和您的竞争对手作比较。在本章中,我们讨论与打折和优惠券相关的问题,然后将设计一个性能优良、可靠、高效的方法来管理销售,以处理一些意想不到的复杂问题。 第8章讲述一些更复杂的问题,主要包括接受订单、处理订单,以及向客户提供网站上的个人订单和订单历史记录的反馈。 第9章介绍如何建立网站社区以及如何鼓励顾客继续回到网站。 第10章讲述如何处理联盟机构、建立合作关系—— 这样就会扩大网站的影响和覆盖范围。本章将谈论如何建立联盟机构和合作关系以及如何管理这些机构的一系列问题。联盟系统的设计非常简单,基本上包括两个主要功能:指示系统和WEB服务。指示系统会允许联盟机构链接到我们的网站。一旦他们链接到网站,我们将会记录下当前用户来自哪个联盟机构,以及属于哪一次联盟活动。WEB服务为联盟机构提供了增值服务,让他们可以查询产品目录,以便使他们的站点可以反映出我们数据库中最新的产品信息。 第11章介绍的是解决方案的管理问题。我们将讨论与创建管理工具相关的一些问题,随后将介绍在创建管理工具时所面临的其他备选的设计方案以及最终采用的设计方案。最后将详细介绍该管理应用程序的源代码。 第12章是对所学知识的一个回顾。如果您花费了较长时间来学习本书,则可能对前面章节一些资料会有所生疏,不如后面章节熟悉。本章则可以帮助您对本书有个全局性的理解,并使读者有机会从总体上来了解Web站点。 注意: 本书中并未讲述对客户的最终收费问题。购物车示例应该可以非常容易地接受实际的付账和收费代码,但是我们没有把它编入本书的站点中。对客户收费的方法有很多种,且复杂程度各不相同,因此无法在本书中作全面的讲解。 本书读者对象 本书适用于对ASP.NET有一定了解、且希望利用这些知识创建电子商务解决方案的开发人员。 如果您阅读过清华大学出版社引进并出版的《ASP.NET 1.0入门经典—— C#编程篇》或者《ASP.NET 1.0高级编程》等书籍,那您会很容易理解本书的内容。 说明: 本书读者应该具备一定的C#实践知识,并可以熟练地使用Visual Studio.NET创建ASP.NET项目。 使用本书的条件 本书示例代码的运行环境如下: ● 安装有IIS的Windows 2000 或者 Windows XP Professional(或以上版本) ● 安装有Visual Studio.NET Professional Edition版本(或以上版本) ● 安装有SQL Server 2000 —— 但我们所采用的技术也适用于其他数据库 用户支持 我们一贯重视读者的意见,并想知道每位读者对本书的看法,包括读者喜欢和不喜欢的内容,以及读者希望我们下一次完善的地方。您可以通过发送电子邮件(地址为feedback@)来向我们反馈意见。请确保反馈信息提到本书的书名。 如何下载本书的示例代码 当您访问Wrox公司站点(/)时,通过Search工具或书名列表,可以方便地定位需要的书目。然后,单击Code列中的Download超链接,或者单击本书的详细信息页面中的Download Code超链接,就可以下载相应的示例代码。 从我们的站点上下载的可用文件都是使用WinZip压缩过的文档。把附件保存到本地磁盘上的文件夹中后,需要使用一个解压缩程序(例如WinZip或PKUnzip)来解压缩文件。在解压缩文件时,通常将代码解压缩到每一章所在的文件夹中。在解压缩的过程中,应确保解压缩程序被设置为使用原有文件夹名。 勘误表 我们已经尽最大努力确保本书中的文本和代码没有错误,但是错误仍然在所难免。如果您发现本书存在错误,例如拼写错误或不正确的代码段,请反馈信息给我们,我们将不胜感激。勘误表的发送可以节约其他读者学习本书的时间,而且能够帮助我们提供更高质量的信息。您的反馈信息将被检查,如果正确,将被粘贴到本书的勘误页面上,或者在本书的后续版本中使用。 要在我们的站点上找到勘误表,请访问/,并通过Advanced Search或者书名列表轻松定位到本书页面。然后,单击Book Errata超链接即可,该链接位于本书的详细信息页面中的封面图解下面。 E-Mail支持 如果您希望直接向详细了解本书的专家咨询本书中的问题,可以发送电子邮件到support@,要求在邮件的主题栏中带上本书的书名和ISBN(国际标准图书编号)的后4位数字。一封典型的电子邮件应包括下面的内容: ● 在主题栏中必须有本书的书名、ISBN的后4位数字和问题所在的页码。 ● 邮件正文中应包括读者的名字、联系信息和问题。 我们将不返回您无用邮件,因为我们仅仅需要有用的详细资料,以便可节约您和我们的时间。当您发送一则电子邮件消息时,它将经过下面一系列支持: ● 用户支持:首先,您的信息将被递送到我们的用户支持人员手中,并由他们阅读。对于一些被频繁提到的问题将被归档,并将立即回答有关本书或者Web站点的任何常见问题。 ● 编辑支持:接着,一些有深度的问题将被送到对本书负责的技术编辑手中,他们在程序设计语言或者特定的产品上有着丰富的经验,能够回答相关主题的详细技术问题。 ● 作者支持:最后,如果编辑不能回答您的问题(这种情况很少发生),他们将请求本书的作者。我们将尽量保护作者免受干扰,以便不影响其写作。然而,我们也非常高兴转寄给他们一些特殊的问题。所有Wrox公司的作者都为他们的书提供技术支持。作为回应,他们将发送电子邮件给用户和编辑,进而使所有的读者受益。 Wrox公司的支持过程仅仅对那些与我们出版的书目内容直接相关的问题提供支持,对于超出常规书目支持的问题,您可以从/论坛中的公共列表中获得支持信息。 站点 为了便于作者和其他人讨论,特将讨论内容加入到P2P站点的邮件列表中,而且我们独特的系统将programmer to programmer™(由程序员为程序员而著)的编程理念与邮件列表、论坛、新闻组以及所有其他服务内容(一对一的邮件支持系统除外)相联系。如果您向P2P发送一个问题,应该相信它一定会被登录邮件列表的Wrox公司作者和其他相关专家所检查到。无论您是在阅读本书,还是在开发自己的应用程序,都可以在站点中找到许多对自己有所帮助的邮件列表。 按照下面的步骤可以预订一个邮件列表: (1) 登录/站点。 (2) 从左边的主菜单栏选择一个适当的类别。 (3) 单击希望加入的邮件列表。 (4) 按照说明订阅并填写自己的邮件地址和密码。 (5) 回复您收到的确认邮件。 (6) 使用预定管理程序加入更多的邮件列表并设置自己的邮件首选项。 本系统提供最佳支持的原因 您可以加入整个邮件列表,也可以只接收每周的邮件摘要。如果您没有时间和工具来接收邮件列表,可以直接查找我们的在线文档。独特的Lyris系统可以将一些没有用的垃圾邮件删除,并保护您的电子邮件地址不被侵扰。当存在加入和离开列表、以及任何有关列表的其他常见问题时,请发送邮件到listsupport@。