本书主要介绍了.NET Web开发过程当中所运用的各种技术,从介绍ASP.NET出发,对于Web开发中的站点构建技术、数据访问技术、构建安全的Web应用程序、使用Ajax技术开发Web应用程序、OO技术和UML在Web开发中的应用、Web应用程序界面设计模式、Web应用程序开发框架,以及Web应用程序构架设计模式分别用一章的篇幅详细地解析,最后用一个综合实例:博客系统,讲述了如何将所有技术运用到实际工作当中,使得读者可以将本书所学知识很轻松地应用到实际工作中。作者在最后一章所奉献的开发经验是作者多年实际工作的积累,可以说是本书最为宝贵的一章。
本书主要的读者对象分为三个群体:阅读过一些关于.NET入门方面的书籍,对.NET产生兴趣并希望对其有更进一步了解的初级开发者,本书可作为他们提升晋级之用;.NET的中高级开发者,他们迫切地希望了解更多关于.NET这套复杂的框架的信息,而又苦于网络上很少能够找到系统权威的资料,本书可作为他们工作参考之用;其他对Web开发和设计感兴趣的开发者,本书可适合用来使他们更全面、更系统地了解.NET Web开发的全过程和细节知识。
第1章 ASP.NET介绍 1
1.1 新增的服务 2
1.1.1 成员身份服务 3
1.1.2 个性化服务 10
1.2 新增的控件 11
1.2.1 数据源控件 13
1.2.2 MultiView控件 18
1.2.3 GridView和DetailsView
1.2.3 控件 25
1.2.4 登录控件 39
1.2.5 ListView控件和DataPager
1.2.5 控件 42
1.3 新增的功能 44
1.3.1 新增的管理功能 44
1.3.2 角色管理器 45
1.3.3 客户端回调管理器 45
1.3.4 SQL缓存依赖性 46
1.3.5 预编译并且在不带源代码
1.3.5 的情况下进行部署 47
1.3.6 新的代码分隔模型 48
1.3.7 验证组 50
1.3.8 跨页面发送 51
1.4 小结 53
第2章 WEB站点构建技术 55
2.1 实现站点导航 56
2.1.1 站点导航概述 56
2.1.2 ASP.NET 1.x时代的站点
2.1.2 导航 59
2.1.3 ASP.NET 2.0中的站点
2.1.3 导航 59
2.1.4 定义站点地图 60
2.1.5 站点导航控件 62
2.2 实现母版页 75
2.2.1 母版页概述 75
2.2.2 母版页和内容页 75
2.2.3 母版页中的URL重置 79
2.2.4 从代码访问母版页 79
2.2.5 嵌套母版页 82
2.2.6 扩展现有母版页 84
2.3 实现主题和皮肤 85
2.3.1 主题和皮肤概述 85
2.3.2 使用主题和皮肤 86
2.3.3 工作原理解析 92
2.3.4 Theme和StylesheetTheme
2.3.4 的区别 93
2.4 使用Web Parts技术灵活布局网页 93
2.4.1 Web Parts概述 94
2.4.2 划分页面 96
2.4.3 控件层次 96
2.4.4 部署Web Parts 98
2.4.5 Web Parts应用 98
2.5 小结 110
第3章 WEB开发中的数据访问技术 111
3.1 数据访问概述 111
3.1.1 数据访问技术的发展 111
3.1.2 主流数据访问技术的介绍
3.1.2 和比较 113
3.1.3 数据访问模式 116
3.2 ADO.NET 119
3.2.1 ADO.NET介绍 119
3.2.2 ADO.NET 2.0的新特性 121
3.2.3 Visual Studio 2005 for
3.2.3 ADO.NET 2.0 122
3.3 对象关系映射技术 123
3.3.1 什么是Object Relational
3.3.1 Mapping 123
3.3.2 .NET下的O/R Mapping框架
3.3.2 的介绍和简单方法 124
3.3.3 DLINQ和ADO.NET实体
3.3.3 框架 132
3.4 对象数据库的应用 134
3.4.1 对象数据库的概念 134
3.4.2 DB4O的使用 134
3.5 Web页面数据绑定技术 136
3.5.1 绑定到数据库 137
3.5.2 绑定到Xml数据 139
3.5.3 绑定到自定义实体对象 141
3.6 通过事务保证数据完整性 146
3.6.1 .NET事务基础 146
3.6.2 事务技术 147
3.6.3 使用System.Transaction
3.6.3 命名空间 150
3.7 小结 152
第4章 构建安全的WEB应用程序 153
4.1 .NET 2.0中新增安全功能概述 153
4.2 身份验证和授权 158
4.2.1 使用窗体身份验证 159
4.2.2 使用Windows验证 162
4.2.3 使用Passport验证 164
4.3 Web Service安全性 166
4.3.1 基本原理 167
4.3.2 基于Windows的身份验证 170
4.3.3 基于SOAP标头的自定义
4.3.3 解决方案 173
4.3.4 自定义基于Windows的
4.3.4 身份验证 181
4.3.5 代码级别的安全访问 183
4.4 数据操作安全性 184
4.4.1 阻止SQL注入 185
4.4.2 编写安全SQL代码 187
4.5 小结 190
第5章 AJAX技术应用 191
5.1 什么是Ajax 191
5.1.1 Ajxa的工作方式 192
5.1.2 Ajax的优势 194
5.1.3 Ajax的缺陷 196
5.1.4 Ajax.NET简介 197
5.2 Ajax基础 198
5.2.1 XMLHttpRequest对象 198
5.2.2 JavaScript基础 202
5.2.3 DOM模型基础 214
5.2.4 XML与JSON 220
5.2.5 xHTML和CSS 221
5.3 使用Ajax.NET进行开发 224
5.3.1 配置及安装 224
5.3.2 编写服务端代码 227
5.3.3 编写客户端调用 228
5.3.4 处理类型 229
5.4 基于Ajax的MVC方案实现 230
5.4.1 背景描述 230
5.4.2 分析解决 230
5.4.3 代码实现 231
5.4.4 分析总结 244
5.5 小结 244
第6章 OO和UML在WEB中的应用 245
6.1 面向对象 245
6.1.1 OO技术概述 246
6.1.2 面向对象的基本原则 253
6.1.3 设计模式 254
6.2 UML介绍 255
6.2.1 简介 256
6.2.2 类图 258
6.2.3 用例图 261
6.3 UML如何辅助Web应用程序的
6.3 设计 264
6.3.1 建模 264
6.3.2 Web应用程序架构 265
6.3.3 表单 267
6.4 小结 268
第7章 WEB应用程序界面的设计模式 269
7.1 设计模式概述 269
7.1.1 设计模式介绍 269
7.1.2 为什么要使用设计模式 270
7.1.3 经典的GoF模式 270
7.1.4 微软提出的设计模式 272
7.2 在ASP.NET中实现MVC 276
7.2.1 MVC 276
7.2.2 Page Controller 286
7.2.3 Front Controller 290
7.2.4 MS MVC框架 296
7.3 小结 297
第8章 WEB应用程序架构模式 298
8.1 软件架构概述 298
8.1.1 什么是软件架构和架构
8.1.1 模式 298
8.1.2 为何要进行架构设计 300
8.2 分层架构模式 301
8.2.1 分层模式概述 301
8.2.2 三层应用程序 303
8.2.3 实现分层系统 306
8.3 架构新模式 312
8.3.1 控制反转IOC和依赖
8.3.1 注入DI 312
8.3.2 使用Castle实现IOC和DI
8.3.2 开发 316
8.3.3 面向方面编程AOP 318
8.3.4 使用Castle实现AOP开发 321
8.4 面向服务架构 323
8.4.1 SOA概念 323
8.4.2 WCF介绍和实现SOA 325
8.4.3 ESB和BizTalk 332
8.5 小结 334
第9章 WEB应用程序开发框架 335
9.1 开发框架概述 335
9.1.1 什么是开发框架 335
9.1.2 开发框架包含的基本内容 337
9.1.3 开发框架和设计模式的
9.1.3 关系 338
9.1.4 为什么要使用开发框架 338
9.2 Windows SharePoint Service3.0 339
9.2.1 Windows SharePoint Service
9.2.1 介绍 339
9.2.2 WSS 3.0概述 340
9.2.3 开发Web Part 345
9.2.4 使用WSS中的工作流 347
9.3 DotNetNuke 349
9.3.1 DotNetNuke是什么 349
9.3.2 使用DotNetNuke建立
9.3.2 站点 352
9.3.3 开发DotNetNuke的
9.3.3 Module 356
9.4 小结 361
第10章 实现一个博客系统 362
10.1 系统设计 362
10.1.1 总体设计 362
10.1.2 系统架构设计 365
10.1.3 数据库设计 367
10.2 系统模块设计与实现 371
10.3 实现数据访问层 394
10.3.1 添加DataSet及
10.3.1 DataTable 395
10.3.2 添加Query 401
10.3.3 扩展TableAdapter 405
10.3.4 优化事务处理 407
小结 409
从浏览器/服务器(B/S)这样的系统构架出现后,Web应用程序的开发就愈来愈流行。从ASP、到JSP、再到PHP,都不断发展着动态网页技术。ASP.NET是微软在.NET平台上推出的一种全新的动态网页技术,它相对ASP是一个革命。本书通过对ASP.NET的一些重点基础知识和Web开发相关的设计知识进行介绍,以期让读者对使用.NET进行Web开发有一个全部而系统的认识。
为什么写作本书
ASP.NET已经成为.NET中最热门的技术,针对ASP.NET的书籍也琳琅满目。有一些是对ASP.NET整个基础知识的介绍,而有一些是讲述ASP.NET的具体应用技巧的,也有部分谈到了Web应用程序的设计话题。但是却没有一本书对这3个方面都囊括其中的。所以本书写作的目的就在于:通过介绍ASP.NET的一些重点基础知识,尤其ASP.NET 2.0中的新特性;同时结合当前广泛关注的设计模式、构架设计和开发框架等话题,讲述了Web应用程序的设计方法;最后通过一个案例来实践了本书前面介绍的这些知识和技巧。
本书结构
本书试图使读者对在.NET平台下进行Web开发有个整体的把握,从最基本的新特性介绍到Web下的设计模式,开发框架等讲解,希望对刚入门或者有具有ASP.NET开发经验的初级、中级开发人员有所帮助。全书分为十章,本书前六章为罗江华编写,后四章为朱永光编写。前半部分主要集中在应用层次上,后半部分主要集中在系统框架设计上,如果读者对ASP.NET 2.0、ASP.NET 3.5的新特性应用不够熟悉的话,在此笔者建议最好从第一章开始阅读。
关于本书作者
罗江华,微软最有价值专家(MVP),海外软件研发经验,擅长微软.NET相关技术和产品,主要喜好关注和研究微软最新产品。现担任成都程序员俱乐部主席,业余兼任IT168 .NET专题作者,目前就职于某全球十大IT类电子商务公司承担系统开发和维护任务。个人技术博客为http://jigee.cnblogs.com。
朱永光,IT自由人和环境保护者,微软最有价值专家(MVP)和MCSD。14年的编程实践经历,5年软件构架和开发管理经验,擅长微软相关技术和产品,主要关注软件构架和开发框架。曾任某外资软件企业.NET构架师,现担任成都程序员俱乐部副主席和核心讲师,并在InfoQ中文站上担任.NET社区首席编辑。个人技术博客为http://redmoon.cnblogs.com。现在作为共同创始人经营着一家环境保护技术公司。
本书主要内容
本书共包括10章,每章的主要内容如下:
第1章“ASP.NET介绍” 主要以ASP.NET 2.0新增特性为主要介绍目的,其中也附带对ASP.NET 3.5中的部分新特性做了介绍。
第2章“Web站点构建技术”包含了ASP.NET 2.0中众多知识点的讲解,也附带对ASP.NET 3.5的部分特性做了介绍。从站点导航、母版页、主题和皮肤到Web Parts。
第3章“Web开发中的数据访问技术” 介绍数据访问的一些概念和原理、ADO.NET的各方面和数据绑定技术。以及O/R M技术、对象数据库和事务机制等和数据访问相关的知识。
第4章“构建安全的Web应用程序”介绍了ASP.NET 中身分验证和授权,实现WEB服务的安全性等相关问题,还介绍了在开发过程中如何编写高效的,安全的T-SQL语句等内容。
第5章“Ajax技术应用”介绍了Ajax的概念、基础及相关知识,然后详细讲解了Ajax.NET,并使用Ajax.NET实现了一个简单的留言板程序,让读者真正感受到Ajax带来的超强用户体验。
第6章“OO和UML在Web中的应用”介绍了面向对象的基本概念和原理,从概念,设计工具以及体系结构等多方面来对面向对象进行一个全面的认识。UML主要从在开发中比较常用的对象入手,类图,用例等对象,也概述了UML在WEB开发中的运用模式和实现思路。
第7章“Web应用程序界面的设计模式”介绍了设计模式的基本概念和常见的设计模式,并重点讲述了在Web应用程序的界面开发中的重要设计模式——MVC。
第8章“Web应用程序架构模式”介绍构架设计的一些基础知识,重点讲述分层结构的概念和实现。对IoC、AOP和SOA这样的新兴技术在本章也有所提及。
第9章“Web应用程序开发框架”介绍了开发框架的概念,并重点介绍2个重要的Web开发框架:Windows SharePoint Service和DotNetNuke。
第10章“实现一个博客系统”以一个实际的案例为背景,详细阐述了ASP.NET新特性如何应用在实际项目中的步骤。理论和实践相结合,让大家理解得更透彻清楚。
致谢
感谢所有在写作本书过程中帮助过我们的朋友,感谢您们为我们提供宝贵的意见和支持,再此特别感谢成都程序员俱乐部会员王明涛、陈曦兄弟在案例一章提供的帮助和支持。
感谢电子工业出版社对笔者的信任和支持,感谢本书责任编辑孙学英为本书所做的工作。
请与我们联系
由于作者水平有限,书中不足及错误之处在所难免,敬请专家和读者给予批评指正。笔者的E-mail地址是:jiangsir6@163.com。
无封面