内容简介本版对上一版进行了大量的扩充,新增了数百页的内容。在全面介绍ASP.NET各种编程技能的同时重点介绍了ASP.NET 2.0版本中的巨大变化,详细阐述了ASP.NET 2.0中所包含的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET Framework下构建功能强大的ASP.NET应用程序。本书适用于有一些ASP.NET基础知识的编程人员以及准备迁移到ASP.NET 2.0的编程老手。内容较上一版更加全面、完善,而且添加了.NET平台上的一些最新技术(例如WCF、WPF等等),是该领域最权威的一本图书!
简言之,ASP.NET 2.0是一个令人惊异的版本。ASP.NET 1.0版本是2000年发布的,许多人认为它在Web应用程序开发方面迈出了具有革命性的一步。相信ASP.NET 2.0更激动人心、更富有革命性。ASP.NET 2.0建立在已发布的ASP.NET 1.0基础之上,但它主要关注的是开发人员的效率。 ASP.NET 2.0在ASP.NET框架内引入了大量的新技术。阅读完本书后,读者就会知道ASP.NET开发小组在过去的几年里都在忙些什么。ASP.NET中类的数量翻了一倍还多,而且这个版本还包含50多个新的服务器控件。 本书介绍这些新技术,除了论述这些新主题外,还列举了一些有关这些新技术的例子。 使用本书的要求 在使用本书的例子时,最好安装Visual Studio 2005,但只安装Microsoft的Notepad和.NET Framework 2.0附带的命令行编译器也可以。要运行本书的所有例子,需要: ● Windows Server 2003、Windows 2000或Windows XP ● Visual Studio 2005 ● SQL Server 2000 或2005 ● Microsoft Access 或SQL Server Express Edition 使用ASP.NET 2.0时,并不需要安装Microsoft Internet Information Services (IIS),因为该版本包含了一个内置的Web服务器,它基于以前发布的Microsoft Cassini技术。如果没有SQL Server也不必担心。使用这个数据库的许多例子都可以改为使用Microsoft Access。 本书读者对象 本书介绍的是ASP.NET 2.0提供的新特性和新功能,并扩展ASP.NET的基础知识。所以读者应具备Web技术的一些知识,例如ASP.NET的以前版本、Active Server Pages 2.0/3.0或JavaServer Pages。如果读者具备Web编程的基础,阅读本书的内容就不会有什么问题。 如果读者是ASP.NET新手,就应先阅读Chris Hart、John Kauffman、Dave Sussman和Chris Ullman合著的《ASP.NET 2.0 入门经典》一书(该书由清华大学出版社引进并已出版),掌握ASP.NET基础知识。 除了具备Web技术的相关知识之外,读者还应对基本的编程结构有一定的了解,例如变量、For Each循环、面向对象的编程等。 那么,本书适用于Visual Basic开发人员还是C#开发人员?这两类开发人员都可以阅读本书!如果示例代码的区别比较大,本书就会提供VB和C#两个版本的代码。 本书内容 本书主要介绍ASP.NET 2.0版本中的巨大变化,详细阐述ASP.NET 2.0中包含的每个主要新特性。下面是每个章节的内容。 ● 第1章“ASP.NET 2.0概述”:本章介绍ASP.NET 2.0的主要新特性和功能,首先讲述ASP.NET的简史,然后概述这个最新版本中新增的内容。 ● 第2章“Visual Studio 2005”:本章介绍用于开发.NET应用程序的下一代IDE——Visual Studio 2005。这个IDE的以前版本包含Visual Studio .NET 2003和Visual Studio .NET 2002。本章主要讨论Visual Studio 2005版本,以及如何使用它更快地创建更好的ASP.NET应用程序。 ● 第3章“应用程序和页面框架”:本章介绍ASP.NET应用程序的框架,以及为单个ASP.NET页面提供的结构和框架。本章将描述如何使用IIS或Visual Studio 2005附带的内置Web服务器建立ASP.NET应用程序,讨论ASP.NET中增加的新文件夹和文件,论述编译代码的新方式以及如何执行跨页面的传送过程。 ● 第4、5、6和7章:将这4章放在一起,是因为它们讨论的都是服务器控件。这几章首先介绍服务器控件的概念及其在ASP.NET开发中的重要作用。除了讨论服务器控件的框架之外,这几章还将深入探讨服务器控件在ASP.NET开发项目中的作用。第4章“ASP.NET服务器控件和客户端脚本”介绍使用服务器控件的基础知识,第5章“ASP.NET Web服务器控件”介绍ASP.NET技术自发布以来就有的控件。第6章“ASP.NET 2.0的Web服务器控件”介绍2.0版本中新增的控件。第7章“验证服务器控件”描述了一组特殊的服务器控件—— 用于验证的服务器控件。使用这些控件可以创建从初级到高级的窗体验证。 ● 第8章“使用Master页面”:Master页面是ASP.NET 2.0技术新增的一个功能,它提供了创建模板页面的方式,该模板页面能用于整个应用程序,而不是单个页面。本章介绍这些模板的创建方式,以及如何把它们应用于ASP.NET应用程序中的内容页面。 ● 第9章“主题和Skin”:允许在ASP.NET 1.0/1.1中使用的层叠样式表文件在许多方面都存在不足之处,尤其是在服务器控件方面。在使用这些早期的版本时,开发人员不能确保这些文件能生成HTML输出。本章将介绍如何处理应用程序需要的样式,说明如何使用主题和主题中的skin文件,为应用程序的所有页面创建一个集中管理式的外观和操作方式。 ● 第10和11章:ASP.NET的一个重要任务是显示数据,这两章将介绍显示数据的各种方式。ASP.NET提供了许多控件,用于关联数据,把它们显示给终端用户。第10章“集合和列表”介绍如何提取数据,并把它们关联到各种ASP.NET服务器控件上。第11章“ASP.NET 2.0中的数据绑定”介绍把数据发布给控件之前支持编程处理数据的一些底层功能。 ● 第12章“使用ADO.NET管理数据”:ADO.NET在ASP.NET的这个新版本中有一些非常显著的变化。本章介绍ASP.NET提供的新数据模型,它允许快速有条理地处理数据的检索、更新和删除。这个新数据模型可以使用一两行代码获取存储在SQL Server或XML文件中任何位置的数据。 ● 第13章“使用XML”:毫无疑问,XML是用于数据显示的一种最重要的技术。所以,.NET Framework和ASP.NET 2.0都在其框架中内置了许多功能,以方便XML的提取、创建、处理和存储。本章主要介绍ASP.NET和底层.NET Framework内置的一些XML技术。 ● 第14章“提供程序模型概述”:ASP.NET 2.0中内置了许多新的系统,这大大方便了开发人员的工作,显著提高了他们的效率。这些新系统以“提供程序模型”为基础,这个提供程序模型是可扩展的。本章将概述这个提供程序模型,以及它在ASP.NET 2.0中的用法。 ● 第15章“扩展提供程序模型”:在介绍了ASP.NET 2.0中的提供程序模型后,本章将探讨扩展提供程序模型的方式,并演示对提供程序模型的几个扩展。 ● 第16章“站点导航”:显然,许多开发人员都不是简单地开发单个页面,而是创建应用程序。所以,他们需要处理贯穿整个应用程序的功能,而不仅仅是页面上的功能。ASP.NET 2.0提供的一个新应用程序功能就是站点导航系统,本章就介绍这个系统。底层的导航系统允许通过一个XML文件定义应用程序的导航结构,该系统引入了一整套全新的导航服务器控件,来处理XML文件中的数据。 ● 第17章“个性化”:开发人员总是在寻找存储与终端用户相关的信息的方式。在存储了这些信息之后,就必须存储个性化数据,用于用户以后的访问,或者用于获取同一个应用程序中的其他页面。ASP.NET小组开发了一种存储这些信息的方式—— ASP.NET个性化系统。这个系统的最大优点是,可以在web.config文件中配置系统的所有操作。 ● 第18章“成员和角色管理”:本章介绍新的成员和角色管理系统,该系统用于简化向ASP.NET应用程序添加身份验证和授权的过程。这两个新系统是可扩展的,使以前较复杂的身份验证和授权方式永远成为过去。本章主要讨论使用web.config文件控制这些系统的应用方式,以及使用底层系统的新服务器控件。 ● 第19章“Portal Framework和Web Part”:本章介绍Web Part,它是把页面封装到更小、管理性更强的对象中的新方式。Web Part最大的优点在于它是用较大的Portal Framework构造的,从而允许终端用户完全更新它在页面上的构造方式,包括它的外观和布局。 ● 第20章“安全性”:本章讨论ASP.NET 2.0中成员和角色管理特性之外的安全性,深入研究ASP.NET技术中固有的身份验证和授权机制,以及HTTP访问类型和模拟。 ● 第21章“状态管理”:ASP.NET是一种基于请求/响应的技术,所以状态管理和请求、响应的性能非常重要。本章介绍ASP.NET开发中这两个独立而又重要的主题。 ● 第22章“高速缓存”:ASP.NET的本质是请求/响应,所以服务器上的高速缓存(存储以前生成的结果、图像和页面)对于ASP.NET应用程序的性能来说非常重要。本章介绍ASP.NET提供的一些高级高速缓存功能,包括ASP.NET 2.0引入的新SQL高速缓存禁用功能。 ● 第23章“调试和错误处理技术”:能在ASP.NET应用程序中处理未预料到的错误是至关重要的。本章描述如何在应用程序中正确构建结构化错误处理机制,说明如何使用各种调试技术查找应用程序可能包含的错误。 ● 第24章“文件I/O和流”:我们常常希望ASP.NET应用程序能处理基本应用程序之外的项,例如文件和流。本章介绍如何处理ASP.NET应用程序引入的各种文件类型和流。 ● 第25章“用户控件和服务器控件”:我们不仅可以使用ASP.NET 2.0附带的服务器控件,还可以使用这些控件的框架,创建自己的控件。本章描述了如何创建自己的服务器控件,如何在应用程序中使用它们。 ● 第26章“模块和处理程序”:有时,仅使用最新的语言和数据库创建动态的Web页面,并没有给开发人员提供控制应用程序的足够权限。开发人员需要再进一步,创建可以与Web服务器本身交互的应用程序,并能与低层的进程通信,例如,了解Web服务器如何处理传入和传出的HTTP请求。本章介绍操纵ASP.NET处理HTTP请求的两种方法—— HttpModule和HttpHandler。这两种方法都提供了对ASP.NET的底层处理过程的独特访问,是创建Web应用程序的强大工具。 ● 第27章“使用业务对象”:对于有一些用以前技术创建的组件,我们不想重新创建它们,而是直接把它们集成到新的ASP.NET应用程序中。此时,利用.NET Framework可以轻松地把以前的COM组件集成到应用程序中。本章除了介绍如何把COM组件集成到应用程序中之外,还将研究如何建立全新样式的.NET组件,来代替以前COM组件的体系结构。 ● 第28章“移动开发”:许多人都忘记了,ASP.NET开发不仅可以为浏览器建立应用程序,它还是一种可用于移动开发的技术。本章讨论使用ASP.NET 2.0开发移动应用程序项目,以及ASP.NET如何使这一过程更简单。 ● 第29章“建立和使用XML Web服务”:在过去的几年中,XML Web服务占据了垄断地位。.NET中Web服务模型的一个主要方面就是ASP.NET。本章介绍XML Web服务的建立过程,以及在ASP.NET应用程序中如何使用它们。然后描述如何建立利用SOAP标题的XML Web服务,以及如何使用这类特殊的服务。 ● 第30章“本地化”:开发人员通常用英语建立Web应用程序,随着应用程序用户的不断扩大,开发人员发现需要将应用程序全球化。当然,最理想的是从一开始就建立能应对世界各地用户的Web应用程序。但在许多情况下,这是不可能的,因为它需要大量额外的工作。新推出的ASP.NET 2.0为Web应用程序的国际化做了大量的工作。API的巨大改进、服务器控件的新增功能,甚至VS本身都使得Web应用程序的国际化变得非常简单。本章就介绍建立国际化的Web应用程序时应考虑的一些重要事项。 ● 第31章“配置”:ASP.NET中的配置是一个很大的主题,因为ASP.NET小组不是在建立黑盒子,而是以一种便于以后扩展的方式,建立ASP.NET的底层功能。本章讲述如何使用各种配置文件修改ASP.NET的功能和操作方式。 ● 第32章“测量”:ASP.NET 2.0为把测量技术应用于应用程序提供了强大的功能。这个版本的ASP.NET框架包括一个新的性能计数器、处理Windows Event Tracing系统的功能、跟踪应用程序的新方式(参见本书的第23章)和本章讨论的内容—— 一个健康的新监控系统,它可以在应用程序的生命周期内记录许多不同的事件。本章将深入探讨这个健康的新监控系统。 ● 第33章“管理”:ASP.NET小组除了让开发人员在建立ASP.NET应用程序时更轻松效率更高之外,还花了大量的精力来简化应用程序的管理。过去,使用ASP.NET 1.0/1.1管理ASP.NET应用程序时,必须改变XML配置文件中的值。本章概述最新版本中新增的GUI工具,利用它可以方便、高效地管理Web应用程序。 ● 第34章“打包和部署ASP.NET应用程序”:建立好ASP.NET应用程序之后该干什么?本章进一步介绍建立过程,说明如何打包ASP.NET应用程序,以便于部署。有许多选项可用于处理安装程序和编译模型,以改变为用户提供的内容。 ● 附录A“Visual Basic 8.0和C# 2.0语言的改进”:ASP.NET进行了许多改进,用于ASP.NET开发的两种主要语言Visual Basic 8.0和C# 2.0也有许多变化。本附录就介绍这些改进。 ● 附录B“迁移ASP.NET 1.x项目”:在一些情况下,要从头开始建立ASP.NET 2.0应用程序—— 从一开始,所有的内容都是新的。但在许多情况下,并不需要这么做。而需要迁移以前用.NET Framework 1.0或1.1版本建立的ASP.NET应用程序,使它们能在.NET Framework 2.0上运行。本附录就介绍如何把ASP.NET 1.x项目迁移到2.0框架上。 ● 附录C“使用Atlas”:Ajax是目前在Web应用程序中广泛使用的专门用语,它是Asynchronous JavaScript and XML的缩写。在Web应用程序开发中,Ajax表示建立利用XMLHttpRequest对象的应用程序的能力。Atlas工具集可以在ASP.NET中建立Ajax样式的应用程序。本书在附录中介绍Atlas工具集,因为它不是.NET Framework 2.0默认安装的一部分。这是一个额外的组件,需要另外从Internet上下载。 ● 附录D“ASP.NET在线资源”:本附录列出了一些有价值的在线资源,便于读者进一步理解ASP.NET。 源代码 对于本书中的所有示例来说,您可以手动输入所有的代码,也可以通过本书合作站点/或www.tupwk.com.cn/downpage下载本书的源代码。登录站点/后,只需使用Search工具框或使用书名列表就可以找到本书。接着单击本书信息页面上的Download Code链接,然后可以选择是把本书的所有源代码下载到一个大的zip文件中,还是仅下载其中某一章的代码。 提示: 因为很多书的标题相类似,所以最简单的方法是通过ISBN进行搜索。本书的英文ISBN是0-470-04178-1(2007年1月将改为978-0-470-04178-9,这是新的13位ISBN数字系统)。 下载代码后,只需用解压缩工具对它解压缩即可。或者可以访问Wrox的下载页面:/dynamic/books/download.aspx,查看本书或其他所有由Wrox出版的书籍的代码。根据本书代码示例的标题,例如“清单1-3”,即可找到所需要的代码。在给可下载的代码文件命名时,就使用了这些清单号。 勘误表 尽管我们已经尽了各种努力来保证文章或代码不出现错误,但是错误总是难免的,如果您在本书中找到了错误,例如拼写错误或代码错误,请发送邮件至wkservice@tup.tsinghua.edu.cn,我们将不胜感激。我们将检查您的信息,如果是正确的,就会在本书的后续版本中采用。通过这种方式,可以让其他读者避免受挫,当然,这还有助于提供更高质量的信息。 要在网站上找到本书的英文勘误表,可以登录,通过Search工具框或书名列表查找本书,然后在本书的信息页面上,单击Book Errata链接。在这个页面上,可以查看已经提交并通过编辑检查的所有勘误。此外,在/misc-pages/ booklist.shtml页面上还提供了完整的书籍列表以及相关的勘误表链接。 p2p. P2P论坛()是为作者和同行之间的讨论而设立的。该论坛是一个基于Web的系统,可用于粘贴与Web图书和技术相关的信息,与其他读者和技术用户交流。该论坛提供了订阅功能,在论坛上出现新贴子时,可以接收到自己感兴趣的电子邮件。Wrox作者、编辑、其他业界专家和读者都会出现在这些论坛上。 在上,有许多不同的论坛,您可以从许多不同的列表中获得帮助,这不仅对阅读本书有所帮助,还可以在开发应用程序时获得帮助。 要加入该论坛,可以遵循下面的步骤: (1) 进入并单击Register链接。 (2) 阅读使用条款并单击Agree按钮。 (3) 填写表单中要求填写的信息,以及其他可选信息,然后单击Submit按钮,即可加入论坛。 您将接收到一封确认电子邮件,其中列出了如何验证您的账户和加入论坛的完整步骤。 提示: 不加入P2P论坛也可浏览其中的信息,但要发布新消息,则必须注册。 在加入该论坛后,您就可发布新消息并回复其他人的文章。可在任意时刻通过Web阅读其中的信息。如果需要,也可通过电子邮件订阅论坛中特定主题的新信息,为此,请在论坛列表中选中特定论坛名称所对应的Subscribe to this Forum图标。 要更详细地了解如何使用Wrox P2P论坛,请阅读P2P FAQ,其中列出了论坛软件如何工作等众多常见的问题。单击P2P论坛中任意页面的FAQ链接即可阅读相关内容。 关于本书配套光盘 本书附带的光盘中提供了其他重要Wrox图书的章节库及其相关的Web链接。