目录 1
第1章 .NET世界的Web站点 1
1.1 集成的Web站点 1
1.1.1 协作 1
1.1.2 协作的代价 2
1.1.3 体验 2
1.1.4 站点间协作 3
1.1.5 .NET的解决方案 4
1.2 不同形式的比较 5
1.2.1 传统在线宣传册 5
1.2.2 .NET在线宣传册 5
1.2.3 传统服务支持网站 6
1.2.4 .NET的服务支持网站 6
1.2.5 传统在线商店 7
1.2.6 .NET在线商店 8
1.2.7 传统Web应用 9
1.2.8 .NET Web应用 9
1.2.9 传统服务 9
1.2.10 .NET服务 10
1.3 体验 10
1.3.1 Web服务中的体验 10
1.3.2 表层体验 11
1.3.3 向深层体验演化 12
1.3.4 深层体验 12
1.3.5 实现体验 13
1.4 构建和维护Web站点 14
1.4.1 页面 15
1.4.2 服务 15
1.4.3 产品 16
1.4.4 利用.NET进行构建和维护 16
1.4.5 实现.NET 17
1.4.6 迁移至.NET 17
1.5 未问答的问题 18
1.5.1 可用性 19
1.5.2 机密性 19
1.5.3 供应 20
1.5.4 调解 20
1.6 未来5年 20
小结 21
第2章 .NET基础 22
2.1 概述 22
2.1.1 通用语言运行时 22
2.1.2 .NET框架类库 23
2.1.3 应用开发 23
2.2 .NET框架内部 24
2.2.1 受控执行进程 25
2.2.2 多语言执行环境 25
2.2.3 微软中间语言 25
2.2.4 JIT编译 26
2.2.5 执行 26
2.3 集合 27
2.3.1 集合的功能 27
2.3.2 集合的优点 27
2.3.3 集合的内容 28
2.3.4 集合的安全事项 30
2.3.5 集合的版本管理 30
2.3.6 集合的位置 31
2.3.7 比肩执行 31
2.4 应用域 32
2.4.1 什么是应用域 32
2.4.2 应用域和集合 33
2.4.3 应用域与线程 34
2.5 运行时宿主(Run-Time Hosts) 34
小结 35
第3章 .NET框架的编程环境 36
3.1 跨语言互操作性 36
3.2 编程环境 37
3.2.1 语言支持 37
3.2.2 通用类型系统 38
3.2.3 元数据系统 39
3.2 4 通用语言规范 39
3.2.5 调试器 39
3.2.6 类 40
3.2.7 类库 41
3.3 能说“Hello!”的控制台程序 42
3.3.1 所需工具 42
3.3.2 所需类和方法 43
3.3.3 C++程序 46
3.3.4 C#程序 48
3.3.5 Visual Basic程序 49
3.4 说“Hello!”的组件 50
3.4.1 基类 50
3.4.2 C#编写的派生类组件 51
3.4.3 Visual Basic编写的派生类组件 52
3.4.4 C++编写的派生类组件 52
3.5 组件的客户端程序 53
3.5.1 C#编写的控制台程序 53
3.5.2 Visual Basic编写的控制台程序 54
3.5.3 C++编写的控制台程序 56
3.5.4 Windows程序 57
3.5.5 ASRNET页面 60
3.6 网络编程 62
3.6.1 请求响应模型 62
3.6.2 TCP客户 64
3.6.3 套接字编程 66
3.6.4 TCPListener和服务器编程 67
小结 69
第4章 ASPNET 70
4.1 概述 70
4.2 ASP.NET特性 72
4.2.1 ASRNET与ASP代码的对比 72
4.2.2 ASP.NET和通用语言运行时 75
4.2.3 ASP.NET的其他特征 77
4.3 Web表单 78
4.3.1 Web表单和页面类 79
4.3.2 ASP.NET页面处理 80
4.3.3 Page指令和跟踪 87
4.3.4 HttpRequest和HttpResponse类 89
4.4 服务器端控件 94
4.4.1 HTML控件 95
4.4.2 Validation控件 99
4.4.3 Web Form控件 103
4.4.4 Rich控件 106
4.5 ASP.NET Web应用程序 107
4.5.1 用Visual Studio.NET建立TAUM网站 108
4.5.2 ASP.NET状态基本组成 117
4.5.3 ASP.NET下的配置 123
4.5.4 ASP.NET下的应用程序安全性 127
4.6 从ASP移植到ASP.NET 133
4.6.1 移植或不移植 133
4.6.2 发生改变的部分 134
4.6.3 最好通过实践来为移植做准备 137
小结 137
第5章 ADO.NET 138
5.1 概述 138
5.1.1 ADO.NET设计目的 138
5.1.2 ADO.NET体系结构 139
5.2 简单的例子 140
5.3 ADO.NET数据提供者 144
5.3.1 SQL Server.NET Data Provider 145
5.3.2 OLE DB.NET Data Provider 145
5.3.3 选择一个.NET数据提供者 146
5.3.4 通用模型 146
5.4 使用.NET数据提供者访问数据 149
5.4.1 Connection 149
5.4.2 Command 150
5.4.3 DataReader 151
5.4.4 取得单值 152
5.4.5 多个结果集 152
5.4.6 非查询SQL语句 153
5.4.7 存储过程和函数 154
5.4.8 事务 157
5.5 DataSet和DataAdapter 159
5.5.1 DataSet构造块 159
5.5.2 从数据库组装DataSet 160
5.5.3 定义一个新的DataTable 162
5.5.4 操纵DataTable 164
5.5.5 DataTable之间的关系 173
5.5.6 从DataSet更新数据库 175
5.6 XML与ADO.NET的集成 179
5.6.1 XML与DataSet之间的数据交换 179
5.6.2 DataSet的模式和XML 182
5.6.3 Typed DataSet 183
小结 184
第6章 Web服务 185
6.1 定义Web服务 185
6.1.1 C#编写的Hello服务 185
6.1.2 Visual Basic编写的Hello服务 187
6.1.3 JScript编写的Hello服务 190
6.2 Web服务客户端 193
6.2.1 为Web服务作代理 193
6.2.2 作为Web服务客户端的控制台程序 195
6.2.3 作为Web服务客户端的ASPNET页面 196
6.3 Web服务的异步调用 197
6.3.1 同步模式与异步模式 197
6.3.2 异步调用标准方法 197
6.3.3 Web服务的捷径 201
小结 202
第7章 用.NET框架进行XML编程 203
7.1 访问XML 203
7.1.1 树——XML DOM——随机层次访问模型 204
7.1.2 指针——读写器——顺序访问模型(单向) 212
7.1.3 检查 221
7.1.4 写XML数据 228
7.2 使用关系数据:XmlDataDocument和DataSet 228
7.2.1 DataSet和模式:DataSet.ReadSchema 228
7.2.2 将XML映射到表格:DataSet.Tables 232
7.2.3 行中的数据记录:DataSet.Tables[].Rows 234
7.3 转换XML 235
7.3.1 使用XML样式表:Xml.Xsl.XslTransform 235
7.3.2 转换成XHTML或者其他XML 236
7.4 服务XML 239
7.4.1 在Web服务器上进行XML服务 240
7.4.2 数据表示 241
7.4.3 数据交换 241
7.4.4 Web服务和对象远程部署 241
小结 241
第8章 对象远程部署 242
8.1 概念 242
8.1.1 应用间通信 242
8.1.2 对象远程部署的构造块 242
8.1.3 服务器对象 243
8.1.4 通道 243
8.1.5 格式化器 243
8.1.6 已知对象的注册 244
8.1.7 远程部署配置 244
8.1.8 激活 244
8.2 HTTP通道上的对象远程部署 245
8.2.1 已知对象注册服务器 245
8.2.2 使用ActivatorGetObject的客户端 247
8.2.3 远程注册服务器 248
8.2.4 远程注册客户端 250
8.2.5 客户端的ASP.NET页面 251
8.3 TCP通道上的对象远程部署 252
8.3.1 已知对象注册服务器 253
8.3.2 使用Activator.GetObject的客户端 254
8.3.3 远程注册服务器 255
8.3.4 远程注册客户端 255
8.3.5 客户端的ASP.NET页面 255
8.4 远程方法的异步调用 255
8.5 部署未实现的服务 258
8.5.1 使用基类 258
8.5.2 使用接口 261
小结 263
第9章 SOAP客户端与XML 264
9.1 SOAP概念 264
9.1.1 什么是SOAP 265
9.1.2 SOAP消息交换模型与XML 266
9.1.3 SOAP封装 266
9.1.4 SOAP编码 267
9.1.5 SOAP出错处理 269
9.1.6 在HTTP中使用SOAP和为RPC使用SOAP 271
9.2 SOAP的优势 272
9.2.1 SOAP与DCOM 273
9.2.2 SOAP与CORBA 274
9.2.3 SOAP与RMI-IIOP 274
9.2.4 SOAP的局限性 275
9.2.5 结论 275
9.3 在.NET下构建简单SOAP客户端程序 276
9.3.1 使用SOAP客户端程序访问Web服务 276
9.3.2 使用SOAP客户端的.NET远程部署 288
小结 291
第10章 .NET平台和其他平台的互操作 292
10.1 WSDL和.NET 292
10.1.1 WSDL定义 293
10.1.2 操作和端口类型 296
10.1.3 绑定 297
10.1.4 端口和服务 299
10.2 与.NET互操作的例子 300
10.2.1 从Apache SOAP客户端访问.NET Web服务 300
10.2.2 从.NET SOAP客户端访问Apache Web服务 309
10.3 通用描述、发现及集成 315
10.3.1 什么是UDDI 315
10.3.2 使用SOAP,UDDI和WSDL连接企业 316
10.3.3 UDDI发展现状 316
小结 317
第11章 案例研究:分布式Web应用 318
11.1 TAU商业模型 318
11.2 TAU.NET系统设计目标 319
11.2.1 子系统 319
11.2.2 信息交换 319
11.2.3 远程服务 319
11.2.4 TAU.NET节点 320
11.3 体系结构 321
11.3.1 概述 321
11.3.2 数据交换模式 322
11.3.3 TAU.NET节点接口 328
11.4 TAU.NET节点适配器 330
11.4.1 TAU.NET节点适配器链接子系统数据库 330
11.4.2 TAU.NET节点适配器为网页提供服务 332
小结 334
附录A Web编程基础 335
A.1 经典Web技术 335
A.2 因特网编程测试环境 343
A.3 微软的Web技术 348
A.4 ASP和COM 359
小结 362
附录B VB.NET的新功能 363
B.1 更强的面向对象特征 363
B.2 更加模块化 372
B.3 更加正式,减少随意性 375
B.4 更安全,更强大的性能提高 379
小结 381
附录C C++或Java程序员的C 382
C.1 C++程序员的C 382
C.2 Java程序员的C 387
小结 395
附录D JScript.NET的新功能 396
D.1 为什么使用JS.NET 396
D.2 编译的JScript 396
D.3 JS.NET的两种用法 397
D.4 Visual Studio.NET中的JScript一览 397
D.5 面向对象功能 399
D.6 性能的提高 405
D.7 打包与部署(EXE,DLL和打包) 406
D.8 调试 408
D.9 编译器 409
小结 412
附录E Visual Studio.NET 413
E.1 Visual Studio.NET概述 413
E.2 工具条 416
E.3 创建控制台应用程序 416
E.4 使用VS.NET的文本编辑器 418
E.5 项目配置 419
E.6 调试 422
小结 426