第1章 环境和体系结构 1
1.1 Web模式 2
1.1.1 桌面应用程序和Web应用程序 2
1.1.2 Web服务器和Web客户端 3
1.2 为Web开发配置系统 6
1.3 动态Web应用程序 15
1.3.1 动态内容的优缺点 16
1.3.2 客户端处理和服务器端处理 16
1.3.3 保持状态 21
1.3.5 ASP.NET Web应用程序 22
1.3.4 Web应用程序体系结构 22
1.4 小结 24
第2章 .NET环境下的Web开发 25
2.1 ASP.NET简介 25
2.2 ASP.NET的其他内容 42
2.3 小结 47
第3章 用户界面和服务器控件 49
3.1 服务器控件 49
3.1.1 HTML控件 51
3.1.2 HTML服务器控件 60
3.1.3 Web服务器控件 65
3.1.4 验证控件 73
3.2 用户控件 79
3.3 自定义控件 89
3.4 动态内容 96
3.5 避免代码重复 99
3.6 小结 102
第4章 ADO.NET 103
4.1 ADO.NET的体系结构 103
4.2 ADO.NET在程序中的应用 107
4.2.1 将数据添加到数据库 107
4.2.2 从数据库中检索数据 112
4.2.3 更改数据库中的数据 118
4.3 DataSet对象 126
4.3.1 Data Adapter 127
4.3.2 使用DataSet对象 128
4.4 小结 138
第5章 数据绑定 139
5.1 组件简介 139
5.2 数据绑定 144
5.2.1 绑定表达式 145
5.2.2 DataBinder类 145
5.2.3 向Friends Reunion应用程序添加数据绑定 146
5.2.4 绑定到数据集 154
5.3 直观地处理数据 160
5.3.1 数据组件 160
5.3.2 类型化数据集 161
5.4 高级数据绑定 167
5.4.1 分页 170
5.4.2 自由格式的数据绑定和编辑——数据列表 172
5.4.3 向应用程序添加数据列表 172
5.5 小结 185
第6章 ASP.NET状态管理 186
6.1 状态存储和作用域 186
6.2 会话状态 187
6.1.1 控制会话状态 199
6.1.2 配置会话状态 203
6.3 应用程序状态 205
6.4 视图状态 212
6.5 暂态 221
6.6 利用cookie保存信息 228
6.6.1 利用查询字符串传递数据 234
6.6.2 利用隐藏的窗体字段传递数据 235
6.7 小结 235
第7章 标记语言和XML 236
7.1 标记语言 237
7.1.1 超文本标记语言 238
7.1.2 可扩展标记语言(XML) 239
7.2 XML数据交换 243
7.2.1 XML模式和验证 243
7.2.2 标记语言、模式和验证 246
7.3 小结 260
第8章 XML和Web开发 262
8.1 在Visual Studio.NET中创建XML文档 262
8.1.1 以可视方式创建XML文档 263
8.1.2 在数据视图中创建XML文档 266
8.2 在.NET中以编程方式使用XML 267
8.2.1 读取和验证XNM 268
8.2.2 接收上传文件 274
8.2.3 从Web应用程序验证XML 276
8.2.4 处理上传的XML数据 279
8.2.5 查询XML文档:XPath 285
8.2.6 动态创建XPath表达式 295
8.2.7 Xm1DOCUment和XmlReader的比较 297
8.3 小结 299
第9章 Web应用程序中的Web服务 300
9.1 Web服务概述 300
9.1.1 Web服务和服务器/浏览器模式的关系 301
9.1.2 Visual Studio.NET对Web服务的支持 302
9.2 提供Web服务 302
9.2.1 测试Web服务 306
9.2.2 复杂数据类型 309
9.3 消费Web服务 311
9.4 SOAP 316
9.5 Web服务中的错误处理 318
9.6 Web服务的效率 321
9.6.1 缓存 321
9.6.2 异步通信 322
9.6.3 改进我们的Web服务 323
9.7 第三方的Web服务 328
9.8 小结 329
第10章 ASR.NET身份验证、授权和安全 330
10.1 概述 330
10.2 安全的基础结构 331
10.2.1 基本术语 331
10.2.2 处理和初始化 334
10.2.3 应用程序安全配置 337
10.3 Windows身份验证 340
10.5 Forms身份验证 341
10.4 Passport身份验证 341
10.6 定制身份验证和基于角色的安全 347
10.7 小结 355
第11章 调试和异常处理 356
11.1 错误的不同类型 356
11.1.1 语法错误 357
11.1.2 语义错误 358
11.1.3 输入错误 359
11.2 调试Web应用程序 360
11.2.1 ASP.NET的跟踪功能 360
11.2.2 .NET中的跟踪和断言 369
11.2.3 Visual Studio.NET调试器 373
11.3 异常 387
11.3.1 异常的不同用途 387
11.3.2 异常和结果代码的比较 387
11.3.3 异常和异常处理 388
11.3.4 未处理的异常 396
11.4 小结 400
第12章 缓存和性能调整 401
12.1 性能的含义 401
12.2 对应用程序进行性能测试 409
12.3 缓存 418
12.4.1 输出缓存 421
12.4 ASP.NET的缓存 421
12.4.2 数据缓存 426
12.5 ASP.NET的其他性能技巧 434
12.5.1 控制ViewState 434
12.5.2 Response.Redirect和Server.Transfer 437
12.5.3 谨慎使用Web控件 438
12.5.4 使用会话状态 439
12.5.5 监控缓存API 440
12.5.6 改进数据库访问 440
12.6 小结 441
13.1 .NET出现之前的部署 442
第13章 在.NET中发布Web应用程序 442
13.2 .NET中的部署 443
13.2.1 XCOPY部署 443
13.2.2 部署项目 443
13.3 手工部署Web应用程序 444
13.4 Visual Studio.NET中的安装项目 448
13.4.1 Web Setup项目 449
13.4.2 相关性和输出 454
13.5 使用安装项目 456
13.6.1 添加自定义文件 458
13.6 高级功能 458
13.6.2 编辑用户界面 459
13.6.3 生成项目 463
13.6.4 自定义动作 464
13.6.5 配置设置 467
13.7 启动条件 467
13.7.1 Search Target Machine节点 468
13.7.2 Launch Conditions节点 468
13.8 小结 470
13.9 Web应用程序——概述 470
附录A Friends Reunion应用程序 472
附录B IIS和MSDE的配置 475
B.1 IIS的配置 475
B.1.1 配置服务器端的设置 475
B.1.2 在IIS中配置ASP.NET应用程序 480
B.2 锁定IIS 484
B.3 ASP.NET和IIS 484
B.4 IIS 6的简介 488
B.5 Microsoft SQL Server Desktop Engine 491
B.5.1 小型的SQL Server 491
B.5.2 获得和安装MSDE 491
B.5.3 在Server Explorer中使用MSDE 494