首页>参考读物>计算机科学与技术>软件与程序设计

ASP.NET 2.0网站开发技术详解
作者 : 方兵
丛书名 : 原创精品系列
出版日期 : 2007-08-28
ISBN : 7-111-21889-0
定价 : 45.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 312
开本 : 16开
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书完全从实际开发人员的角度讲述ASP.NET应用程序的开发技术,详细讲述了ASP.NET 2.0网站开发所需要使用的技术和需要考虑的要点,并通过大量的实例和代码讲述如何通过使用公共组件来提高开发效率。

本书特色
  ● 如何规划和设计多层ASP.NET应用程序。
  ● 如何设计优良的数据库。
  ● 如何开发支持多种数据库并且带缓存的数据访问组件。
  ● 如何实现中间层业务。
  ● 如何使用ASP.NET 2.0实现更友好的用户界面并提高开发效率。
  ● 如何使用Microsoft AJAX实现无刷新的页面。
  ● 如何提供Web 2.0的用户服务。
  ● 如何实现Web报表。
  ● 如何保证网站安全性。
  ● 如何调试、发布和配置网站。

光盘内容说明
  随书光盘中包含了大量的源代码和示例,包括:
  ● 23个设计模式的C#源代码。
  ● 大量的可复用组件库的源代码。
  ● Microsoft AJAX的开发工具和示例文档。
  ● PetShop 4.0源代码。
  ● 三个示例站点的源代码。

图书特色

图书前言

微软的.NET战略推出已经有6年多了,从.NET 1.0到1.1,再到现在的2.0,.NET正在走入软件业的主流,尽管目前它还只是广泛应用于服务器上,但显而易见,随着年底.NET 3.0的推出,.NET将从服务器领域走向客户端应用,Windows平台下的开发将由.NET统治。
  什么是.NET
  .NET是一个应用于一系列技术上的商标
  微软将.NET视为数字化未来的一个远景和平台。如果更具体、更准确地看待这种创新,则是把.NET视为一个商标,一个微软已经应用于数种不同技术上的商标。这些技术有些是全新的,提供新的服务和新的可能性;另一些则允许我们以最新的方式来创建我们今天已经知道的各类Windows应用程序。当然,也有一些.NET家族成员只不过是挂着.NET牌子的现有技术的新版本而已。
  .NET是软件成为一种服务的转移
  .NET在这个方面的意义是最被广泛接受和理解的。“软件就是服务”的理念最初是在1997年左右由Oracle的CEO Larry Ellison以及SUN的CEO Scott McNealy在网络计算机的概念大行其道的时候提出的。不过Oracle和SUN并没有真正将这个概念变为现实,他们的视角更多地集中于资源集中化方面。不过,当初听到Ellison和McNealy这番见解的公司——包括微软,也认识到了这种见解道出了软件产业面临的一个巨大改变,.NET则是微软对这种概念和这种变化作出的自己的反应。
  .NET是一个新的编程模型——也就是Internet平台
  微软正在趋向于将.NET看作一个系统。在表面上,它包含了两种不同的编程模型:一个是Web服务编程模型,另一个是系统编程模型。
  微软开始把.NET系统编程模型作为.NET整体的一个组成部分,计划最终以此代替现有的组件对象模型(Component Object Model,COM)以及Windows应用程序编程接口(API),这个现在还没有最终正式定名的模型使用一系列新的基础类。
  .NET中最重要的新技术是Web Services。如其名称所示,Web Services提供了某些功能,我们可以通过网络加以调用。大多数拥有.NET商标的技术都可以在某种程度上直接支持Web Services。然而.NET绝非仅仅是Web Services而已,微软置于.NET商标下的技术包括:
  .NET Framework:它包括通用语言运行时(Common Language Runtime,CLR)和.NET框架类库。CLR是构建一系列新应用程序的标准基础,.NET类库则为许多基于CLR的应用程序提供一个新的标准开发环境。这个类库包含的技术有:ASP .NET,最新一代的ASP(Active Server Pages)技术;ADO .NET,最新一代的ADO(ActiveX Data Objects)技术;新的WINFX编程模型,不久之前被命名为.NET Framework 3.0。这个编程模型包括:WPF,最新一代的图像引擎技术;WCF,架构于Web Services之上的通信交流框架;WWF,采用.NET以及其他一系列新技术构建起来的工作流引擎;以及对“构建和使用Web Services”的其他支持等等。微软还发行了一个.NET Framework精简版,名为.NET Compact Framework,用于小型设备,如个人数字助理(personal digital assistant,PDA)上。除此之外,还可以在XBOX 360的XNA中、微软的Smart Watch等等产品上看到.NET的影子。
  Visual Studio .NET:支持多种可使用.NET Framework的编程语言,包括Visual Basic;一个增强版的C++;一个基于.NET的Java替代语言J#,以及一个为.NET Framework量身打造的全新语言C#。
  .NET My Services:一组服务,允许用户存储和访问位于互联网中服务器上的个人信息,例如日程表和地址簿等。这些服务还提供诸如认证(Authentication)这样的通用功能,使客户能够证明自己的身份;还提供了一个“向不同设备上的客户发送消息”的方式。
  .NET Enterprise servers:一系列软件服务器,包括Exchange Server 2003、SharePoint Server 2003、Project Server 2003、BizTalk Server 2006,Application Center 2000、Commerce Server 2000、Host Integration Server 2000、SQL Server 2005等等。除了几个称为2003、2005或2006的产品外,其他的很大程度上与这里说的.NET技术没有什么关联,但是显而易见,在未来的版本当中,它们将全部基于.NET技术构建,上面几个称2003的版本已经证明了这一点。
  .NET的特点
  高效率开发
  .NET Framework为我们提供的这个庞大而又结构清晰的类型,使我们的编程变得异常轻松,另外,自动垃圾回收机制等一系列新的特性,可以让我们的程序员把更多的精力放在考虑如何实现客户所需要的业务逻辑上,而不为计算机在控制上内存如何分派之类的事情头痛。甚至无论是开发哪一种应用程序,无论是C/S、B/S,还是智能设备亦或是数据库编程,你都可以使用最熟悉的一种编程语言,而不需要去学习诸如C++、ASP、SQL等各不相同的多用语言。.NET还带来了多种语言之间的无缝集成,例如一个系统可以同时采用多种编程语言来开发,VB .NET编写的类可以方便地再用C#继承。这些都大幅度地提高了我们的开发效率。
  多平台特性
  尽管到目前为止.NET应用程序还只能运行于Windows平台上,但.NET天生就为跨平台应用做好了准备,据我们所知,微软自己还有第三方开发商都已经在为.NET程序在Unix、OS2、Linux等系统上运行而工作着(如开源项目Mono)。我们还可以看到.NET应用程序将可以运行在PDA甚至手机上,以及Vista上将要出现的XAML,将使我们进行应用程序开发的时候,不需要再考虑是B/S架构还是C/S架构。不久的将来,我们就可以只关心我们的应用程序如何满足客户的需求而不用考虑基于何种平台来开发。
  无接触部署
  借助于.NET的反射特性,.NET应用程序可以精确地描述自身。这就使得无接触部署成为可能,.NET应用程序无需在注册表中储存信息,只需简单的XCOPY便可正确地在用户的机器上运行,这将会使企业的部署成本大为降低。而在.NET 2.0中,Click Once技术使我们的应用程序部署前所未有地简单,使C/S应用程序的部署不比B/S网页更困难,然而,C/S将比B/S带来更好的用户体验特性。
  消除Dll Hell
  同样是基于.NET的反射特性,每一个应用程序都可以清楚地知道自己需要使用哪一个Dll,同一个Dll的不同版本可以彼此和平共处,从而彻底消除让我们头痛的Dll Hell。
  可信赖计算
  长期以来,微软系统的安全性问题一直备受诟病。比尔·盖茨决定改变这种现状。在.NET中,这种安全性的考虑直接放到了代码级。通过一系列的技术,如代码访问安全(Code Access Security)、基于角色的安全、强名称(Strong Name)、权限和权限集等,最大限度地保证了系统的安全性。
  .NET Framework体系结构
  .NET是分层的、模块化的,并且是层次结构化的。.NET Framewok的每一层都是一个抽象层。其中,.NET语言是顶层,也是最为抽象的一层。而通用语言运行时则位于底层,它是最不抽象、最靠近本地环境的一层。这一点很重要,因为通用语言运行时需要与操作环境紧密合作来管理.NET应用程序。.NET Framework被分成了多个模块,每个模块都有它们各自特定的责任。最后由于高层只从底层请求服务,所以.NET又是层次结构化的,如图1所示。

  图1.NET Framework体系结构
  .NET的未来
  2006年底,微软推出了新一代的操作系统Vista,.NET第一次上升到操作系统的核心API这样一个层面的地位,.NET 3.0(以前叫做WinFX)与操作系统紧密结合,它改变了原有的编程机制。Vista生成器最终会跟以前的Win32 API(Application Programming Interface,应用程序编程接口)进行分离,取而代之的是可管理的WinFX,而WinFX就是微软继DOS、Win16、Win32之后推出的第四代API。据外刊报道,以前利用Win32 API开发的软件,在微软承诺的维护期之后将不能运行。现在我们看到的是成千上万的Win32开发人员,我们在Windows上运行的软件几乎全部是使用Win32开发的。将来,我们看到的会是成千上万的.NET开发人员,在Windows上运行的软件将几乎全都是使用.NET开发的。
在非PC上,我们也将看到.NET出现在PDA、手表等设备上,如果你对.NET了解得更多一些的话,还将可以在XBOX360、电视机顶盒甚至机器人身上找到它的身影。
  本书所讨论的ASP .NET
  本书所讨论的.NET仅仅是.NET中很小,目前却应用最广泛的一部分——ASP .NET,顺带还会有一些ADO .NET的内容,但是对于.NET的Windows开发、Web Services、.NET Remoting等等的开发不做涉及。
  另外,本书并不针对.NET的初学者,所以并不讲述C#语言或者ASP .NET的语法之类的东西,而是针对有一定经验的开发人员,着重讲述一些设计和开发原则、技巧以及一些容易引起混淆的概念和技术。
  为了保证定义的精确性,本书中部分概念的定义直接来自MSDN Library,部分代码来自PetShop 4.0。

作者简介

方兵:方兵: 方 兵 毕业于北京邮电大学,长期从事ASP.NET软件的开发及研究工作,曾在上海及北京的软件公司历任软件架构师、技术总监等职位,参与过物流、电信、银行及印刷等行业的B/S应用程序的设计与开发。

图书目录

目录
前言
第1章.NET 2.0的新特性1
1.1C#语言的新特性1
1.2ADO .NET的新特性8
1.3ASP .NET的新特性12
1.4.NET 2.0的其他新特性17
第2章Visual Studio 2005新特性18
2.1开发环境的新特性18
2.2代码编辑操作的新特性19
2.3项目、解决方案和项的新特性21
2.4调试器的新特性22
2.5生成、测试和部署的新特性23
2.6针对Web开发的新特性23
第3章网站规划与设计24
3.1功能规划24
3.2部署规划24
3.3性能规划25
3.4网站架构分层设计26
3.5使用分布式系统关系图进行规划设计29
第4章数据库建设34
4.1面向对象的模型映射到关系型数据库模型34
4.2结构映射模式35
4.3表设计及视图设计原则37
第5章数据访问层的开发40
5.1使用类型化数据集40
5.2开发适应多种数据库的访问组件41
5.3监视数据库的更改55
第6章数据缓存层的开发58
6.1数据缓存层的原理58
6.2数据缓存层的代码实现58
第7章ASP .NET中的业务处理65
7.1在ASP .NET中读写Excel文件65
7.2在ASP .NET中实现事务70
第8章网站页面的开发72
8.1母版页72
8.2主题75
8.3数据访问控件——Datasource77
8.4数据缓存86
8.5单向与双向数据绑定89
8.6更新的数据网格——GridView92
8.7数据网格的行列合并93
8.8DetailsView和FormView95
8.9弹出页选择器100
8.10其他数据绑定控件103
8.11导航控件109
8.12向导页控件114
8.13其他控件117
8.14开发用户控件和自定义控件118
8.15ASP .NET网站测试125
8.16Application、Cookie、Session和Cache129
8.17页面无限跳转间如何保存页面状态130
8.18如何防止页面刷新140
8.19页面代码编写的原则和技巧141
第9章提高用户体验——AJAX的应用143
9.1ASP .NET 2.0提供的基本回调功能143
9.2微软的AJAX框架——MicrosoftASP .NET 2.0 AJAX Extensions144
9.3ASP .NET AJAX服务器控件145
9.4ASP .NET AJAX Web服务151
9.5ASP .NET AJAX服务器控件可扩展性153
9.6ASP .NET AJAX客户端架构163
9.7ASP .NET AJAX Ccntrol Toolkit163
第10章用户化网站171
10.1用户管理控制171
10.2用于用户管理的控件186
10.3用户个性化数据193
10.4用户权限的自定义扩展196
10.5单点登录198
10.6随时恢复页面198
第11章实现个人化页面的定制202
11.1Web Parts的概念203
11.2Web Parts的模式205
11.3Web Parts基本应用206
11.4Web Parts互联210
第12章网页报表的制作——ReportViewer214
12.1本地报表和远程报表214

12.2报表216

12.3报表查看器223

第13章关心网站的安全性226

13.1Web威胁模型226

13.2防止SQL注入式攻击227
13.3防止脚本侵入230
13.4加密ViewState231
13.5加密WebConfig文件232
第14章调试和优化站点235
14.1调试页面235
14.2在ASP .NET中使用跟踪238
14.3优化服务器性能241
14.4优化客户端传输246
第15章Bug跟踪和报告247
15.1需求分析247
15.2解决思路247
15.3实现过程248
第16章适用于移动设备的页面263
16.1创建移动Web站点263
16.2开发适用于移动设备的页面264
第17章网站后台管理268
17.1IIS设置268
17.2网站配置文件273
第18章网站编译、部署和发布276
18.13种编译模型及其用途276
18.2网站同步277
18.3打包网站279
第19章一些常用的公共代码280
19.1SQL Server存储的字符与.NET字符
进行转换280
19.2替换GridView中的Bool值为中文281
19.3包装弹出式对话框281
19.4将GridView的内容输出成Excel284
19.5检查IE的版本号并引导安装IE6285
19.6提供文件下载285
19.7装配高级查询语句287
第20章下一版本的ASP .NET293
20.1C# 3.0293
20.2LINQ299
20.3ADO .NET 3.0306
20.4ASP .NET 3.0309
20.5SilverLight310




教学资源推荐
作者: (美)John R.Hubbard
作者: 宋晓宇
作者: 管建和
作者: 马玉春 著
参考读物推荐
作者: 张秀宏 著
作者: (美)Steve Teixeira
作者: 刘文如 编著