第一部分 ASP.NET简介 2
第1章 ASP.NET概述 2
1.1 ASP.NET 2
1.2 .NET基类库 3
1.3 ASP.NET Web应用程序的配置 6
1.4 会话和状态管理 6
1.5 缓存管理 6
1.6 ASP.NET Web应用程序开发层 7
1.6.1 UI层 7
1.6.2 业务逻辑层 7
1.7 Web表单 7
1.7.1 灵活/功能强大的用户界面 8
1.7.2 客户浏览器的功能 8
1.7.3 基于事件的编程 8
1.7.4 直观的开发方式 8
1.8 XML Web服务 8
1.9 COM/COM+互操作性和组件服务 9
1.10 ADO.NET 9
1.11 从传统到ASP到ASP.NET的迁移 9
1.12 国际化和本地化 10
1.13 更高的安全性 10
第2章 使用ASP.NET开发应用程序 11
2.1 应用程序设置文件 11
2.1.1 global.asax文件 11
2.1.2 global.asax文件中使用的编译指令 11
2.1.3 应用程序级或会话级变量 12
2.1.4 会话事件 12
2.1.5 脚本块 12
2.1.6 web.config配置文件 13
2.2 页面语法 14
2.2.1 页面编译指令 14
2.2.2 代码声明块 18
2.2.3 代码交付块 19
2.2.4 服务器端注释 19
2.2.5 自定义服务器控件的语法 19
2.2.6 数据绑定表达式 20
2.2.7 服务器端对象标记语法 21
2.2.8 服务器端包含编译指令的语法 22
2.3 ASP.NET中常用的对象和类 22
2.3.1 Application对象(HttpApplication类) 22
2.3.2 Request对象(HttpRequest类) 23
2.3.3 Response对象(HttpResponse类) 24
2.3.4 Server对象(HttpServerUtility类) 25
2.4 跟踪ASP.NET应用程序 25
2.4.1 跟踪信息 26
2.4.2 Trace对象(TraceContext类) 27
2.4.3 使用页面级跟踪 28
2.4.4 应用程序级跟踪 29
2.4.5 使用跟踪日志查看程序(trace.axd) 30
2.5 ASP.NET迁移方面的问题 30
2.5.1 〈script〉和〈% %〉的变化 31
2.5.2 脚本交付功能 31
2.5.3 支持的Web页面语言 31
2.5.4 不再支持VBScript 32
2.5.5 Web页面编译指令 32
2.5.6 COM+互操作性 33
2.6 总结 33
第3章 配置ASP.NET应用程序 34
3.1 部署web.config配置文件 34
3.1.1 web.config文件的格式 35
3.1.2 web.config文件的结构 35
3.2 使用〈appSettings〉配置段 37
3.3 分析system.web配置段 38
3.3.1 开发配置 38
3.3.2 环境配置 40
3.3.3 IIS配置 41
3.3.4 安全性配置 42
3.3.5 状态管理配置 45
3.4 总结 46
第二部分 ASP.NET核心 48
第4章 基于Web表单的开发 48
4.1 Web表单简介 48
4.2 Web表单架构 53
4.2.1 Web表单的处理阶段 53
4.2.2 Page类 54
4.3 代码与用户界面的分离 56
4.4 服务器控件 57
4.4.1 HTML控件 57
4.4.2 Web控件 58
4.5 验证控件 95
4.5.1 网页的验证问题 95
4.5.2 ASP.NET验证控件的优点 95
4.5.3 使用验证控件 95
4.5.4 使用RequiredFieldValidator控件 96
4.5.5 使用CompareValidator控件 97
4.5.6 使用RangeValidator控件 98
4.5.7 使用RegularExpressionValidator控件 99
4.5.8 使用CustomValidator控件 100
4.5.9 使用ValidationSummary控件 102
4.6 总结 103
第5章 ASP.NET中的状态管理 105
5.1 何为状态管理 105
5.1.1 使用应用程序状态管理 106
5.1.2 HttpApplicationState常用的属性 106
5.1.3 HttpApplicationState类的事件 107
5.2 使用ASP.NET应用程序状态管理 107
5.2.1 会话状态 110
5.2.2 web.config和状态管理 113
5.2.3 不使用cookie的状态管理 114
5.2.4 SessionState存储 115
5.3 总结 117
第三部分 ASP.NET和数据访问 119
第6章 在ASP.NET应用程序中使用ADO.NET 119
6.1 从基于Web的角度认识数据访问 119
6.1.1 SQL简介 120
6.1.2 SQL Sever 2000简介 120
6.2 ADO与ADO.NET 121
6.2.1 ADO简介 121
6.2.2 ADO.NET:.NET与数据访问 122
6.2.3 ADO.NET体系结构 122
6.2.4 ADO与ADO.NET之间的主要区别 126
6.3 使用主要的ADO.NET对象 126
6.3.1 使用Connection对象连接到数据源 126
6.3.2 执行ADO.NET命令 128
6.3.3 使用DataReader对象来检索数据 130
6.3.4 DataSet对象 132
6.3.5 使用DataTable对象 134
6.3.6 DataRelation对象简介 135
6.3.7 使用DataRow对象 136
6.3.8 XML与数据集 140
6.4 创建面向数据的Web表单 145
6.4.1 DataGrid控件 145
6.4.2 Repeater控件 153
6.4.3 DataList控件 155
6.5 支持事务的ASP.NET应用程序 158
6.6 总结 160
第7章 在ASP.NET应用程序中使用XML 161
7.1 XML文档结构 162
7.1.1 XML元素 162
7.1.2 XML特性 162
7.1.3 文本和字符数据 163
7.1.4 注释 163
7.1.5 名称空间和模式 163
7.2 如何在ASP.NET中使用XML 164
7.2.1 使用Web.config配置应用程序 164
7.2.2 序列化 164
7.2.3 ADO.NET 165
7.3 其他XML技术 166
7.3.1 Web服务描述语言(WSDL) 166
7.3.2 简单对象访问协议(SOAP) 169
7.4 在应用程序中使用XML 170
7.4.1 XML、XSL和XPath 170
7.4.2 读写XML 171
7.4.3 在浏览器中使用XML 171
7.5 真实范例 171
7.5.1 使用XmIDocument 171
7.5.2 XmIDataDocument和DataSets 174
7.5.3 执行XSL样式表转换 177
7.5.4 在IE5.O中使用MSXML 179
7.5.5 使用XMI.Web服务HTML组件 184
7.6 总结 191
第四部分 高级技术 193
第8章 使用ASP.NET开发XML Web服务 193
8.1 XML Web服务简介 193
8.1.1 创建一个简单的XML Web服务 194
8.1.2 使用XML Web服务 197
8.1.3 使用SOAP协议 199
8.2 在XML Web服务中使用SOAP工具包 205
8.3 XML Web服务发现——为服务做广告 213
8.3.1 使用DISCO工具 213
8.3.2 使用UDDI 214
8.4 在ASP.NET页面中使用XML Web服务 216
8.5 总结 219
第9章 确保ASP.NET应用程序的安全 220
9.1 ASP.NET安全特性概述 220
9.1.1 认证 220
9.1.2 加密 225
9.2 在ASP.NET应用程序中使用安全特性 225
9.2.1 认证 225
9.2.2 在global.asax中处理论证事件 233
9.2.3 基于代码的权限 234
9.2.4 加密 235
9.3 ASP.NET安全性内幕 242
9.3.1 Web.config 242
9.3.2 System.Web.Security 244
9.3.3 System.Security.Principal 245
9.3.4 System.Security.Permissions 245
9.3.5 System.Security.Cryptograghy 246
9.4 安全性方面的其他考虑 246
9.5 总结 246
第10章 在ASP.NET中使用组件服务 247
10.1 什么是组件服务 247
10.2 在ASP.NET应用程序中使用组件服务 248
10.2.1 脚本块 251
10.2.2 Web表单的定义 252
10.3 业务对象 253
10.3.1 getProjects方法 256
10.3.2 GetTasks方法 256
10.4 使用业务对象 257
10.4.1 将业务对象转换为.NET组件 258
10.4.2 编译和注册.NET组件 260
10.4.3 在ASP.NET Web表单中使用.NET组件 260
10.5 服务组件 263
10.5.1 创建服务组件 263
10.5.2 注册和使用服务组件 266
10.6 总结 266
第11章 在ASP.NET中使用消息服务 267
11.1 消息接发系统简介 267
11.1.1 消息接发系统的概念 268
11.1.2 MSMQ应用程序的进程类型 268
11.1.3 消息系统的安全性 269
12.1 使用Windows 2000管理MSMQ消息队列 269
11.2.1 新建队列 269
11.2.2 删除队列 270
11.2.3 清空队列中的消息 270
11.3 .NET消息接发服务的体系结构 270
11.3.1 引用消息队列 271
11.3.2 操纵消息队列 272
11.4 使用MSMQ和.NET完成任务 272
11.4.1 创建消息队列 272
11.4.2 删除消息队列 273
11.4.3 删除消息队列中的所有消息 273
11.4.4 取得消息队列列表 273
11.4.5 使用枚举来遍历队列 275
11.4.6 给消息队列发送消息 275
11.4.7 取回消息队列中的下一条消息 276
11.4.8 查看消息中队列中的下一条消息 276
11.4.9 取回消息队列中的消息集合 276
11.5 总结 277
第12章 在ASP.NET中使用目录服务 278
12.1 目录服务简介 278
12.1.1 什么是活动目录 279
12.1.2 为什么要使用目录服务 279
12.2 活动目录的工作原理 279
12.3 活动目录的优点 280
12.3.1 简化管理任务 280
12.3.2 增强网络安全 280
12.3.3 Windows之外的其他系统 281
12.4 活动目录技术小结 281
12.4.1 DirectoryEntry类 281
12.4.2 DirectorySearcher类 284
12.5 总结 286
第13章 ASP.NET应用程序的国际化和本地化 287
13.1 什么是本地化 287
13.1.1 文化信息 288
13.1.2 区域信息 289
13.1.3 资源的管理和使用 289
13.2 ASP.NETWeb应用程序的本地化 289
13.2.1 web.config文件中〈globalization〉配置段及其应用 289
13.2.2 @page编译指令和本地化 294
13.2.3 CultureInfo对象 294
13.2.4 字符串资源管理器 300
13.3 总结 306
第五部分 高级Web表单 308
第14章 ASP.NET中的缓存控制 308
14.1 ASP.NET的缓存管理 308
14.2 页面输出缓存 308
14.2.1 Web表单编译指令@OutputCache 309
14.2.2 启用下游页面输出缓存功能 312
14.2.3 同一个Web表有多少个缓存的情况 312
14.3 片段缓存(部分页面缓存) 314
14.4 请求缓存 316
14.4.1 回收服务器资源 317
14.4.2 将数据项添加到请求缓存中 317
14.4.3 将数据项添加到请求缓存中,并指定其依存性规则 318
14.4.4 设置请求缓存中数据的过期依存性 318
14.4.5 设置请求缓存中的数据项的优先权 319
14.4.6 取得请求缓存中的数据项 319
14.4.7 删除请求缓存中的数据项 319
14.5 总结 320
第15章 创建用户控件和自定义控件 321
15.1 用户控件 321
15.1.1 创建一个简单的用户控件 321
15.1.2 用户控件的体系结构 323
15.1.3 使用方式 324
15.1.4 部分输出缓存 324
15.1.5 定制用户控件 325
15.1.6 处理用户控件的事件 328
15.1.7 在用户控件中使用CodeBehind 331
15.1.8 通过代码创建用户控件 334
15.2 自定义控件简介 335
15.2.1 创建自定义控件 336
15.2.2 设置自定义控件的属性 339
15.2.3 在自定义控件中处理回传 341
15.2.4 在自定义控件中引发自定义事件 344
15.2.5 使用客户端JavaScript来引发自定义回传 346
15.2.6 创建复合控件 347
15.2.7 开发模板化控件 349
15.2.8 开发模板化数据绑定控件 352
15.2.9 全局组合体缓存 355
15.3 总结 356
第16章 使用ASP.NET进行移动设备开发 357
16.1 无线应用协议(WAP) 357
16.2 无线标记语言(WML) 358
16.3 ASP.NET 359
16.3.1 创建一个移动设备应用程序 360
16.3.2 开发移动设备应用程序 361
16.3.3 表示控件 362
16.3.4 导航控件 368
16.3.5 数据输入控件 371
16.4 总结 377
第六部分 应用程序开发范例 379
第17章 综合性范例 379
17.1 ProjectPal应用程序 379
17.1.1 业务描述 379
17.2 安装ProjectPal应用程序 380
17.2.1 第1步:安装应用程序条件 380
17.2.2 第2步:创建虚拟目录 381
17.2.3 第3步:编译组件 384
17.2.4 第4步:设置SQL Server 384
17.3 ProjectPal的功能 386
17.3.1 项目经理视图 386
17.3.2 Project Management Desktop 386
17.3.3 职员视图 386
17.4 应用程序的体系结构 387
17.5 ProjectPal服务层 389
17.5.1 数据服务 389
17.5.2 业务服务 389
17.5.3 XML Web服务 389
17.5.4 远程服务 389
17.6 ProjectPal客户接口 390
17.7 ProjectPal中的数据库 390
17.8 ProjectPal组件 393
17.8.1 数据访问层 393
17.8.2 业务服务层 394
17.9 ProjectPal的源代码 394
17.9.1 配置 394
17.9.2 ProjectPal中的安全措施 396
17.9.3 注册新项目 399
17.9.4 项目桌面 408
17.10 总结 423
第七部分 附录 425
附录A .NET概述 425
附录B 常用ASP.NET对象参考 432
附录C 常用ADO对象参考 441
附录D HTML服务器控件参考 456
附录E ASP服务器控件参考 474
附录F Microsoft移动Internet工具包 491
附录G .NET资源列表 510