亲爱的读者,感谢您购买和阅读本书。本书第1版在2002年出版,幸运的是它取得了极大的成功。我相信这归因于当时市场上有关ASP.NET的书大多数都是参考类型的,这些书介绍每个单独的控件和它们的属性及用法,并且提供的示例都是用单一页面演示怎样使用一个功能控件(事实上,目前仍存在这种情况),它们的普遍缺陷是没有讲授如何整合ASP.NET所有的功能和控件来构建一个功能丰富的独立网站,而这正是读者在工作中经常需要做的。设计实现一个真正的网站与创建简单例子差别很大,所以我认为本书对开发人员解决日常工作中的实际问题是很有帮助的。 这本新版的书的大部分内容是完全重新编写的,但还是尽可能保持了已有应用程序的完整性。作为本书的新作者,我也尝试在现有Beer House应用程序框架中找到一个平衡点,添加一些新的模块并集成ASP.NET 3.5 SP1中的一些新技术。 本书旨在描述、设计和实现一个网站,它或许与您正在开发或即将开发的网站很相似,同时还对功能强大的ASP.NET 3.5 Framework提供的许多新功能进行了介绍。本书中并没有为了使解决方案变得简短而回避那些较难的问题。相反,我尽力向您解释了在开发现代网站时会遇到的一些典型问题,并给这些问题提供了一个或多个解决方案。结果是实现了一个网站,展示一个可供用户选择主题的设计、会员系统、用于发布和聚合文章及图片的内容管理系统、民意调查系统、新闻列表、论坛、图片库、活动日程表、个性化主页、搜索引擎优化和本地化(参考第1章中的详细介绍)。本书中的代码将用VB.NET编写,这不同于之前的版本,但您还是可下载C#和VB.NET源代码。我希望您能喜欢本书,它能为您加速开发下一个项目提供向导,使之具有更好的可靠性、可扩展性和良好的组织性。 可以通过在线浏览示例网站。 我的博客网址为。请密切关注示例项目的进一步开发和扩展。 0.1 本书读者对象 首先声明,这不是一本为初学者或者从没接触过ASP.NET和.NET Framework的开发人员编写的书。本书向读者介绍如何去开发一个实际的网站,从开始进行设计直到最后进行部署,但本书并没有事无巨细地解释每一个技术细节,而是专注于设计和编写实际的解决方案。为了能更好地学习本书,您应该具有ASP.NET 2.0的工作经验,即使没用过其高级功能,拥有这方面的经验也会使学习更加轻松。学习本书,不要求您了解ASP.NET 3.5,因为在每章中您将用到新引入的控件和功能,本书提供了足够的背景资料去实现解决方案。如果您想进一步学习和完全掌握某个控件,那么可以参考MSDN的官方资料或其他参考书,如Wrox的Professional ASP.NET 3.5。有关搜索引擎优化技术的较好的参考书是Kristopher Jones编写的Serarch Engine Optimization:Your Visual Blueprint for Effective Internet Marketing(Wiley)一书。Scott Klein的《LINQ高级编程》(本书已由清华大学出版社引进并出版)一书也很有帮助。 0.2 本书主要内容 本书从基础架构开始,逐步实现了一系列模块的设计和解决方案,最终完成了一个大型的示例网站。使“提出问题—分析问题—解决方案”系列图书区别于Wrox其他系列图书的是编排结构和从头至尾开发一个完整项目的设计。本书将引领您逐步开发一个完整的ASP.NET 3.5 网站,其中包括了许多我们期望在当今内容型网站和电子商务网站中出现的功能: ● 账户注册、个性化和主题 ● 网站导航 ● 新闻和事件,及其分类管理 ● 民意调查 ● 新闻列表 ● 论坛 ● 图片库 ● 活动日程表 ● 具有购物车和订单管理功能的电子商店 ● 本地化 从管理的角度来看,还包含了下列功能和问题: ● 完整的在线后端管理部分,通过直观的用户界面来管理所有数据 ● 网站部署 在实现每一个功能的同时,对ASP.NET 3.5中的新功能进行了讲解,这些功能如下: ● ASP.NET AJAX ● 新的ListView控件 ● 实体框架(Entity Framework)和LINQ to Entities 由于本书是对一个真实网站作研究,所以它不仅实现ASP.NET功能,还将它们应用于普通场景。其中包括: ● 搜索引擎优化技术 ● 错误记录和处理 ● CSS布局 本书不仅包含了ASP.NET 3.5的新功能,还演示了如何把这些功能融合在一起,去开发一个功能完善的网站。全部设计决策都作了解释和讨论,包括数据库设计、数据访问和业务逻辑组件设计以及整个网站的体系结构。到本书结束时,您将学到许多基于一个可靠的、可伸缩的和可扩展的体系结构的最佳Web开发实践。 0.3 本书的结构安排 本书从开始到结束构建了一个完整的项目。每一章(除了第1章)都介绍了项目中一个独立的模块,并且由以下三部分构成。 ● 提出问题:这部分定义本章要解决的问题,即在这一章中想做什么?要在网站上加入什么样的功能?为什么有必要添加这样的功能?需要考虑一些限制和其他因素吗? ● 设计方案:问题提出之后,这部分描述解决这些问题需要用到什么功能。对于解决方案如何工作,或者解决问题的过程中要用到的内容,这部分将给出一个总体构想。 ● 解决方案:提出问题和设计方案之后,我们将讨论和生成代码,并介绍其他需要的内容,以便实现设计并解决在本章开始时所提出的问题。在这部分,您可以马上创建代码,进行练习。 本书旨在让您从头到尾进行阅读,这样就能够从无到有地生成一个随时可以发布的、完整的、可部署的网站。此外,本书遵循一个模块化的结构,每一章都是一个独立单元,如有必要的话,可以将某一章中实现的功能提取出来用在其他网站上。 0.4 使用本书的要求 如果您想在本书的引导下在自己的计算机上构建项目,或运行可供下载的现成项目,您的计算机需要以下配置: ● Windows XP Professional、Windows Vista、Windows 7、Windows Server 2008、Windows Server 2003,或者Windows 2000 Professional 或Server。 ● Visual Studio 2008的任何一个版本,包括免费的Visual Web Developer 2008 Expression Edition。不过,建议配备Visual Studio 2008 Standard。即使您根本没有使用微软的编辑器(有可能您更喜欢Macromedia Dreamweaver MX或是其他文本编辑器),也能够在本书的引导下运行示例项目,因为有些章节在“设计方案”部分向Visual Studio设计人员进行了介绍和演示,而在“解决方案”部分没有用它来编写代码。 ● 免费的SQL Server 2008 Express Edition;可能的话,使用SQL Server 2008 Standard Edition。 0.5 源代码 在读者学习本书中的示例时,可以手工输入所有的代码,也可以使用本书附带的源代码文件。本书使用的所有源代码都可以从本书合作站点/或www.tupwk.com.cn/downpage上下载。登录到站点/,使用Search工具或使用书名列表就可以找到本书。接着单击本书细目页面上的Download Code链接,就可以获得所有的源代码。 注释: 由于许多图书的标题都很类似,所以按ISBN搜索是最简单的,本书英文版的ISBN是978-0-470-18758-6。 在下载了代码后,只需用自己喜欢的解压缩软件对它进行解压缩即可。另外,也可以进入/dynamic/books/download.aspx上的Wrox代码下载主页,查看本书和其他Wrox图书的所有代码。 0.6 勘误表 尽管我们已经尽了各种努力来保证文章或代码中不出现错误,但是错误总是难免的,如果您在本书中找到了错误,例如拼写错误或代码错误,请告诉我们,我们将非常感激。通过勘误表,可以让其他读者避免受挫,当然,这还有助于提供更高质量的信息。 请给wkservice@vip.163.com发电子邮件,我们就会检查您的反馈信息,如果是正确的,我们将在本书的后续版本中采用。 要在网站上找到本书英文版的勘误表,可以登录,通过Search工具或书名列表查找本书,然后在本书的细目页面上,单击Book Errata链接。在这个页面上可以查看到Wrox编辑已提交和粘贴的所有勘误项。完整的图书列表还包括每本书的勘误表,网址是/misc-pages/booklist.shtml。 0.7 要与作者和同行讨论,请加入上的P2P论坛。这个论坛是一个基于Web的系统,便于您张贴与Wrox图书相关的消息和相关技术,与其他读者和技术用户交流心得。该论坛提供了订阅功能,当论坛上有新的消息时,它可以给您传送感兴趣的论题。Wrox作者、编辑和其他业界专家和读者都会到这个论坛上来探讨问题。 在上,有许多不同的论坛,它们不仅有助于阅读本书,还有助于开发自己的应用程序。要加入论坛,可以遵循下面的步骤: (1) 进入,单击Register链接。 (2) 阅读使用协议,并单击Agree按钮。 (3) 填写加入该论坛所需要的信息和自己希望提供的其他信息,单击Submit按钮。 (4) 您会收到一封电子邮件,其中的信息描述了如何验证账户,完成加入过程。 注释: 不加入P2P也可以阅读论坛上的消息,但要张贴自己的消息,就必须加入该论坛。 加入论坛后,就可以张贴新消息,响应其他用户张贴的消息。可以随时在Web上阅读消息。如果要让该网站给自己发送特定论坛中的消息,可以单击论坛列表中该论坛名旁边的Subscribe to this Forum图标。 关于使用Wrox P2P的更多信息,可阅读P2P FAQ,了解论坛软件的工作情况以及P2P和Wrox图书的许多常见问题。要阅读FAQ,可以在任意P2P页面上单击FAQ链接。