第ⅰ部分 c# 语 言
         第1章 .net体系结构 3
         1.1 c#与.net的关系 3
         1.2 公共语言运行库 4
         1.2.1 平台无关性 4
         1.2.2 提高性能 4
         1.2.3 语言的互操作性 5
         1.3 中间语言 6
         1.3.1 面向对象和接口的支持 6
         1.3.2 不同的值类型和引用类型 7
         1.3.3 强数据类型化 8
         1.3.4 通过异常处理错误 12
         1.3.5 特性的使用 13
         1.4 程序集 13
         1.4.1 私有程序集 14
         1.4.2 共享程序集 14
         1.4.3 反射 14
         1.4.4 并行编程 15
         1.5 .net framework类 15
         1.6 名称空间 16
         .1.7 用c#创建.net应用程序 16
         1.7.1 创建asp.net应用程序 16
         1.7.2 创建windows窗体 18
         1.7.3 使用wpf 18
         1.7.4 windows控件 19
         1.7.5 windows服务 19
         1.7.6 wcf 19
         1.7.7 windows wf 19
         1.8 c#在.net企业体系结构
         中的作用 19
         1.9 小结 21
         第2章 核心c# 23
         2.1 第一个c#程序 23
         2.1.1 代码 24
         2.1.2 编译并运行程序 24
         2.1.3 详细介绍 25
         2.2 变量 26
         2.2.1 变量的初始化 27
         2.2.2 类型推断 28
         2.2.3 变量的作用域 29
         2.2.4 常量 31
         2.3 预定义数据类型 32
         2.3.1 值类型和引用类型 32
         2.3.2 cts类型 33
         2.3.3 预定义的值类型 33
         2.3.4 预定义的引用类型 36
         2.4 流控制 38
         2.4.1 条件语句 38
         2.4.2 循环 42
         2.4.3 跳转语句 45
         2.5 枚举 46
         2.6 名称空间 47
         2.6.1 using语句 49
         2.6.2 名称空间的别名 49
         2.7 main()方法 50
         2.7.1 多个main()方法 50
         2.7.2 给main()方法传递参数 52
         2.8 有关编译c#文件的更多内容 52
         2.9 控制台i/o 54
         2.10 使用注释 56
         2.10.1 源文件中的内部注释 56
         2.10.2 xml文档 56
         2.11 c#预处理器指令 58
         2.11.1 #define和 #undef 59
         2.11.2 #if, #elif, #else和#endif 59
         2.11.3 #warning和 # error 60
         2.11.4 #region和#endregion 61
         2.11.5 #line 61
         2.11.6 #pragma 61
         2.12 c#编程规则 62
         2.12.1 关于标识符的规则 62
         2.12.2 用法约定 63
         2.13 小结 68
         第3章 对象和类型 69
         3.1 类和结构 69
         3.2 类 70
         3.2.1 数据成员 70
         3.2.2 函数成员 71
         3.2.3 只读字段 83
         3.3 匿名类型 84
         3.4 结构 85
         3.4.1 结构是值类型 86
         3.4.2 结构和继承 87
         3.4.3 结构的构造函数 87
         3.5 部分类 87
         3.6 静态类 89
         3.7 object类 89
         3.7.1 system.object()方法 90
         3.7.2 tostring()方法 90
         3.8 扩展方法 92
         3.9 小结 93
         第4章 继承 95
         4.1 继承的类型 95
         4.1.1 实现继承和接口继承 95
         4.1.2 多重继承 95
         4.1.3 结构和类 96
         4.2 实现继承 96
         4.2.1 虚方法 97
         4.2.2 隐藏方法 98
         4.2.3 调用函数的基类版本 99
         4.2.4 抽象类和抽象函数 100
         4.2.5 密封类和密封方法 100
         4.2.6 派生类的构造函数 101
         4.3 修饰符 106
         4.3.1 可见性修饰符 106
         4.3.2 其他修饰符 106
         4.4 接口 107
         4.4.1 定义和实现接口 108
         4.4.2 派生的接口 111
         4.5 小结 113
         第5章 泛型 115
         5.1 概述 115
         5.1.1 性能 116
         5.1.2 类型安全 117
         5.1.3 二进制代码的重用 117
         5.1.4 代码的扩展 117
         5.1.5 命名约定 118
         5.2 创建泛型类 118
         5.3 泛型类的功能 122
         5.3.1 默认值 123
         5.3.2 约束 123
         5.3.3 继承 126
         5.3.4 静态成员 127
         5.4 泛型接口 127
         5.4.1 协变和抗变 128
         5.4.2 泛型接口的协变 129
         5.4.3 泛型接口的抗变 130
         5.5 泛型结构 131
         5.6 泛型方法 134
         5.6.1 泛型方法示例 134
         5.6.2 带约束的泛型方法 135
         5.6.3 带委托的泛型方法 136
         5.6.4 泛型方法规范 137
         5.7 小结 138
         第6章 数组 139
         6.1 简单数组 139
         6.1.1 数组的声明 139
         6.1.2 数组的初始化 139
         6.1.3 访问数组元素 140
         6.1.4 使用引用类型 141
         6.2 多维数组 142
         6.3 锯齿数组 143
         6.4 array类 144
         6.4.1 创建数组 145
         6.4.2 复制数组 146
         6.4.3 排序 147
         6.5 数组作为参数 150
         6.5.1 数组协变 151
         6.5.2 arraysegment[t] 151
         6.6 枚举 152
         6.6.1 ienumerator接口 152
         6.6.2 foreach语句 153
         6.6.3 yield语句 153
         6.7 元组 158
         6.8 结构比较 159
         6.9 小结 162
         第7章 运算符和类型强制转换 163
         7.1 运算符 163
         7.1.1 运算符的简化操作 165
         7.1.2 运算符的优先级 169
         7.2 类型的安全性 169
         7.2.1 类型转换 170
         7.2.2 装箱和拆箱 173
         7.3 比较对象的相等性 174
         7.3.1 比较引用类型的相等性 174
         7.3.2 比较值类型的相等性 175
         7.4 运算符重载 176
         7.4.1 运算符的工作方式 177
         7.4.2 运算符重载的示例:
         vector结构 178
         7.5 用户定义的类型强制转换 185
         7.5.1 实现用户定义的类型
         强制转换 186
         7.5.2 多重类型强制转换 192
         7.6 小结 195
         第8章 委托、lambda表达式
         和事件 197
         8.1 委托 197
         8.1.1 声明委托 198
         8.1.2 使用委托 199
         8.1.3 简单的委托示例 202
         8.1.4 action[t]和func[t]
         委托 204
         8.1.5 bubblesorter示例 204
         8.1.6 多播委托 207
         8.1.7 匿名方法 210
         8.2 lambda表达式 211
         8.2.1 参数 212
         8.2.2 多行代码 212
         8.2.3 lambda表达式外部的
         变量 213
         8.3 事件 214
         8.3.1 事件发布程序 214
         8.3.2 事件侦听器 216
         8.3.3 弱事件 217
         8.4 小结 220
         第9章 字符串和正则表达式 221
         9.1 system.string类 221
         9.1.1 创建字符串 222
         9.1.2 stringbuilder成员 225
         9.1.3 格式字符串 226
         9.2 正则表达式 231
         9.2.1 正则表达式概述 232
         9.2.2 regularexpressions
         playaround示例 233
         9.2.3 显示结果 235
         9.2.4 匹配、组合和捕获 237
         9.3 小结 238
         第10章 集合 239
         10.1 集合接口和类型 239
         10.2 列表 240
         10.2.1 创建列表 241
         10.2.2 只读集合 250
         10.3 队列 250
         10.4 栈 254
         10.5 链表 256
         10.6 有序列表 261
         10.7 字典 262
         10.7.1 键的类型 263
         10.7.2 字典示例 264
         10.7.3 lookup类 268
         10.7.4 有序字典 269
         10.8 集 269
         10.9 可观察的集合 271
         10.10 位数组 272
         10.10.1 bitarray类 273
         10.10.2 bitvector32结构 275
         10.11 并发集合 277
         10.12 性能 279
         10.13 小结 281
         第11章 linq 283
         11.1 linq概述 283
         11.1.1 列表和实体 283
         11.1.2 linq查询 287
         11.1.3 扩展方法 288
         11.1.4 推迟查询的执行 289
         11.2 标准的查询操作符 291
         11.2.1 筛选 293
         11.2.2 用索引筛选 293
         11.2.3 类型筛选 294
         11.2.4 复合的from子句 294
         11.2.5 排序 295
         11.2.6 分组 296
         11.2.7 对嵌套的对象分组 297
         11.2.8 连接 298
         11.2.9 集合操作 300
         11.2.10 合并 301
         11.2.11 分区 302
         11.2.12 聚合操作符 303
         11.2.13 转换 304
         11.2.14 生成操作符 305
         11.3 并行linq 306
         11.3.1 并行查询 306
         11.3.2 分区器 307
         11.3.3 取消 307
         11.4 表达式树 308
         11.5 linq提供程序 311
         11.6 小结 311
         第12章 动态语言扩展 313
         12.1 dlr 313
         12.2 dynamic类型 313
         12.3 包含dlr scriptruntime 318
         12.4 dynamicobject和
         expandoobject 321
         12.4.1 dynamicobject 321
         12.4.2 expandoobject 323
         12.5 小结 324
         第13章 内存管理和指针 325
         13.1 后台内存管理 325
         13.1.1 值数据类型 325
         13.1.2 引用数据类型 327
         13.1.3 垃圾回收 328
         13.2 释放非托管的资源 330
         13.2.1 析构函数 330
         13.2.2 idisposable接口 331
         13.2.3 实现idisposable接口
         和析构函数 332
         13.3 不安全的代码 334
         13.3.1 用指针直接访问内存 334
         13.3.2 指针示例:
         pointerplayground 343
         13.3.3 使用指针优化性能 347
         13.4 小结 350
         第14章 反射 351
         14.1 自定义特性 351
         14.1.1 编写自定义特性 352
         14.1.2 自定义特性示例:
         whatsnewattributes 355
         14.2 反射 358
         14.2.1 system.type类 358
         14.2.2 typeview示例 360
         14.2.3 assembly类 362
         14.2.4 完成whatsnew
         attributes示例 364
         14.3 小结 368
         第15章 错误和异常 369
         15.1 异常类 369
         15.2 捕获异常 371
         15.2.1 实现多个catch块 373
         15.2.2 在其他代码中捕获异常 376
         15.2.3 system.exception属性 376
         15.2.4 没有处理异常时所发生
         的情况 377
         15.2.5 嵌套的 try块 378
         15.3 用户定义的异常类 379
         15.3.1 捕获用户定义的异常 380
         15.3.2 抛出用户定义的异常 382
         15.3.3 定义用户定义的异常类 385
         15.4 小结 387
         第ⅱ部分 visual studio
         第16章 visual studio 2010 391
         16.1 使用visual studio 2010 391
         16.1.1 创建项目 395
         16.1.2 解决方案和项目的区别 401
         16.1.3 windows应用程序代码 403
         16.1.4 项目的浏览和编码 404
         16.1.5 生成项目 411
         16.1.6 调试代码 415
         16.2 重构工具 418
         16.3 面向多个版本的
         .net framework 420
         16.4 wpf、wcf、wf等 421
         16.4.1 在visual studio 2010
         中构建wpf应用程序 421
         16.4.2 在visual studio 2010
         中构建wf应用程序 423
         16.5 小结 424
         第17章 部署 425
         17.1 部署的规划 425
         17.1.1 部署选项 426
         17.1.2 部署要求 426
         17.1.3 部署.net运行库 427
         17.2 简单的部署选项 427
         17.2.1 xcopy部署 428
         17.2.2 xcopy和web
         应用程序 428
         17.2.3 发布web站点 429
         17.3 visual studio 2010安装
         和部署项目 429
         17.3.1 windows installer 430
         17.3.2 创建安装程序 430
         17.4 clickonce 437
         17.4.1 clickonce操作 437
         17.4.2 发布clickonce
         应用程序 438
         17.4.3 clickonce设置 438
         17.4.4 clickonce文件的
         应用程序缓存 439
         17.4.5 应用程序的安全性 439
         17.5 visual studio 2010
         高级选项 440
         17.5.1 文件系统编辑器 440
         17.5.2 注册表编辑器 440
         17.5.3 文件类型编辑器 440
         17.5.4 用户界面编辑器 441
         17.5.5 自定义动作编辑器 442
         17.5.6 launch conditions
         编辑器 443
         17.6 小结 444
         第ⅲ部分 基 础
         第18章 程序集 447
         18.1 程序集的含义 447
         18.1.1 程序集的功能 448
         18.1.2 程序集的结构 448
         18.1.3 程序集清单 449
         18.1.4 名称空间、程序集
         和组件 449
         18.1.5 私有程序集和共享
         程序集 449
         18.1.6 附属程序集 450
         18.1.7 查看程序集 450
         18.2 创建程序集 451
         18.2.1 创建模块和程序集 451
         18.2.2 程序集的特性 452
         18.2.3 动态加载和创建
         程序集 454
         18.3 应用程序域 457
         18.4 共享程序集 461
         18.4.1 强名 462
         18.4.2 使用强名获得完整性 462
         18.4.3 全局程序集缓存 463
         18.4.4 创建共享程序集 463
         18.4.5 创建强名 464
         18.4.6 安装共享程序集 465
         18.4.7 使用共享程序集 465
         18.4.8 程序集的延迟签名 466
         18.4.9 引用 467
         18.4.10 本机映像生成器 468
         18.5 配置.net应用程序 469
         18.5.1 配置类别 469
         18.5.2 绑定程序集 470
         18.6 版本问题 471
         18.6.1 版本号 472
         18.6.2 通过编程方式获取版本 472
         18.6.3 绑定到程序集版本 473
         18.6.4 发行者策略文件 474
         18.6.5 运行库的版本 475
         18.7 小结 476
         第19章 检测 477
         19.1 代码协定 477
         19.1.1 前提条件 479
         19.1.2 后置条件 480
         19.1.3 常量 481
         19.1.4 接口的协定 481
         19.2 跟踪 483
         19.2.1 跟踪源 484
         19.2.2 跟踪开关 485
         19.2.3 跟踪侦听器 486
         19.2.4 筛选器 488
         19.2.5 相关性 489
         19.3 事件日志 492
         19.3.1 事件日志体系结构 493
         19.3.2 事件日志类 494
         19.3.3 创建事件源 494
         19.3.4 写入事件日志 495
         19.3.5 资源文件 496
         19.4 性能监控 500
         19.4.1 性能监控类 500
         19.4.2 性能计数器生成器 500
         19.4.3 添加performance
         counter组件 503
         19.4.4 perfmon.exe 505
         19.5 小结 506
         第20章 线程、任务和同步 507
         20.1 概述 507
         20.2 异步委托 508
         20.2.1 投票 508
         20.2.2 等待句柄 509
         20.2.3 异步回调 510
         20.3 thread类 512
         20.3.1 给线程传递数据 513
         20.3.2 后台线程 514
         20.3.3 线程的优先级 515
         20.3.4 控制线程 515
         20.4 线程池 516
         20.5 任务 517
         20.5.1 启动任务 517
         20.5.2 连续的任务 518
         20.5.3 任务层次结构 519
         20.5.4 任务的结果 520
         20.6 parallel类 521
         20.6.1 用parallel.for()
         方法循环 521
         20.6.2 使用parallel.foreach()
         方法循环 523
         20.6.3 通过parallel.invoke()
         方法调用多个方法 524
         20.7 取消架构 524
         20.7.1 parallel.for()方法
         的取消 524
         20.7.2 任务的取消 526
         20.8 线程问题 527
         20.8.1 争用条件 527
         20.8.2 死锁 530
         20.9 同步 532
         20.9.1 lock语句和线程安全 532
         20.9.2 interlocked类 538
         20.9.3 monitor类 539
         20.9.4 spinlock结构 540
         20.9.5 waithandle基类 540
         20.9.6 mutex类 541
         20.9.7 semaphore类 542
         20.9.8 events类 544
         20.9.9 barrier类 547
         20.9.10 readerwriterlockslim
         类 549
         20.10 timer类 552
         20.11 基于事件的异步模式 554
         20.11.1 backgroundworker
         类 554
         20.11.2 启用取消功能 557
         20.11.3 启用进度功能 558
         20.11.4 创建基于事件的异步
         组件 559
         20.12 小结 563
         第21章 安全性 565
         21.1 身份验证和授权 565
         21.1.1 标识和principal 565
         21.1.2 角色 567
         21.1.3 声明基于角色的安全性 567
         21.1.4 客户端应用程序服务 568
         21.2 加密 573
         21.2.1 签名 575
         21.2.2 交换密钥和安全传输 576
         21.3 资源的访问控制 579
         21.4 代码访问安全性 582
         21.4.1 第2级安全透明性 582
         21.4.2 权限 583
         21.5 使用证书发布代码 588
         21.6 小结 588
         第22章 本地化 591
         22.1 system.globalization
         名称空间 591
         22.1.1 unicode问题 592
         22.1.2 区域性和区域 592
         22.1.3 使用区域性 596
         22.1.4 排序 600
         22.2 资源 602
         22.2.1 创建资源文件 602
         22.2.2 资源文件生成器 602
         22.2.3 resourcewriter 603
         22.2.4 使用资源文件 604
         22.2.5 system.resources
         名称空间 607
         22.3 使用visual studio的
         windows窗体本地化 607
         22.3.1 通过编程方式修改
         区域性 612
         22.3.2 使用自定义资源文件 613
         22.3.3 资源的自动回退 614
         22.3.4 外包翻译 615
         22.4 用asp.net本地化 615
         22.5 用wpf本地化 617
         22.5.1 用于wpf的.net资源 618
         22.5.2 xaml资源字典 619
         22.6 自定义资源读取器 622
         22.6.1 创建databaseresource
         reader类 623
         22.6.2 创建databaseresource
         set类 625
         22.6.3 创建databaseresource
         manager类 625
         22.6.4 databaseresourcereader
         的客户端应用程序 626
         22.7 创建自定义区域性 626
         22.8 小结 628
         第23章 system.transactions 629
         23.1 概述 629
         23.1.1 事务处理阶段 630
         23.1.2 acid属性 630
         23.2 数据库和实体类 631
         23.3 传统的事务 633
         23.3.1 ado.net事务 633
         23.3.2 system.enterprise
         services 634
         23.4 system.transactions 635
         23.4.1 可提交的事务 636
         23.4.2 事务处理的升级 638
         23.4.3 依赖事务 640
         23.4.4 环境事务 642
         23.5 隔离级别 649
         23.6 自定义资源管理器 650
         23.7 windows 7和windows
         server 2008的事务 656
         23.8 小结 660
         第24章 网络 661
         24.1 webclient类 661
         24.1.1 下载文件 662
         24.1.2 基本的webclient示例 662
         24.1.3 上传文件 663
         24.2 webrequest类和
         webresponse类 664
         24.2.1 身份验证 666
         24.2.2 使用代理 666
         24.2.3 异步页面请求 666
         24.3 把输出结果显示为
         html页面 667
         24.3.1 从应用程序中进行
         简单的web浏览 667
         24.3.2 启动internet explorer
         实例 669
         24.3.3 给应用程序提供更多
         的ie类型特性 669
         24.3.4 使用webbrowser控件
         打印 674
         24.3.5 显示请求页面的代码 674
         24.3.6 webrequest类
         和webresponse类的
         层次结构 676
         24.4 实用工具类 676
         24.4.1 uri 676
         24.4.2 ip地址和dns名称 677
         24.5 较低层的协议 679
         24.5.1 使用smtpclient 680
         24.5.2 使用tcp类 682
         24.5.3 tcpsend和tcpreceive
         示例 682
         24.5.4 tcp和udp 684
         24.5.5 udp类 684
         24.5.6 socket类 685
         24.6 小结 689
         第25章 windows服务 691
         25.1 windows服务 691
         25.2 windows服务的体系结构 692
         25.2.1 服务程序 692
         25.2.2 服务控制程序 694
         25.2.3 服务配置程序 694
         25.2.4 windows服务的类 694
         25.3 创建windows服务程序 694
         25.3.1 创建服务的核心功能 695
         25.3.2 quoteclient示例 698
         25.3.3 windows服务程序 699
         25.3.4 线程和服务 703
         25.3.5 服务的安装 704
         25.3.6 安装程序 704
         25.4 服务的监视和控制 708
         25.4.1 mmc管理单元 708
         25.4.2 net.exe实用程序 709
         25.4.3 sc.exe实用程序 710
         25.4.4 visual studio server
         explorer 710
         25.4.5 编写自定义
         servicecontroller类 710
         25.5 故障排除和事件日志 718
         25.6 小结 719
         第26章 互操作性 721
         26.1 .net和com 721
         26.1.1 元数据 722
         26.1.2 释放内存 722
         26.1.3 接口 722
         26.1.4 方法的绑定 724
         26.1.5 数据类型 724
         26.1.6 注册 724
         26.1.7 线程 725
         26.1.8 错误处理 726
         26.1.9 事件 727
         26.2 编组 727
         26.3 从.net客户端中使用
         com组件 728
         26.3.1 创建com组件 728
         26.3.2 创建rcw 734
         26.3.3 使用rcw 735
         26.3.4 使用com服务器和
         动态语言扩展 736
         26.3.5 线程问题 737
         26.3.6 添加连接点 737
         26.4 从com客户端中使用
         .net组件 739
         26.4.1 ccm 740
         26.4.2 创建.net组件 740
         26.4.3 创建类型库 741
         26.4.4 com互操作特性 743
         26.4.5 com注册 745
         26.4.6 创建com客户端
         应用程序 746
         26.4.7 添加连接点 747
         26.4.8 用sink对象创建
         客户端 748
         26.5 平台调用 750
         26.6 小结 754
         第27章 核心xaml 755
         27.1 概述 755
         27.1.1 元素映射到.net
         对象上 756
         27.1.2 使用自定义.net类 757
         27.1.3 把特性用作属性 759
         27.1.4 把特性用作元素 759
         27.1.5 基本的.net类型 760
         27.1.6 集合 760
         27.1.7 构造函数 761
         27.2 依赖属性 761
         27.2.1 创建依赖类型 762
         27.2.2 强制值回调 763
         27.2.3 值变更回调和事件 764
         27.2.4 事件的冒泡和隧道 764
         27.3 附加属性 767
         27.4 标记扩展 770
         27.5 创建自定义标记扩展 770
         27.6 xaml定义的标记扩展 772
         27.7 读写xaml 772
         27.8 小结 773
         第28章 managed extensibility
         framework 775
         28.1 mef的体系结构 775
         28.2 协定 782
         28.3 导出 783
         28.3.1 导出属性和方法 787
         28.3.2 导出元数据 789
         28.4 导入 791
         28.5 容器和出口提供程序 794
         28.6 类别 797
         28.7 小结 798
         第29章 文件和注册表操作 799
         29.1 管理文件系统 799
         29.1.1 表示文件和文件夹
         的.net类 800
         29.1.2 path类 803
         29.1.3 fileproperties示例 803
         29.2 移动、复制和删除文件 808
         29.2.1 filepropertiesandmovement
         示例 808
         29.2.2 filepropertiesandmovement
         示例的代码 809
         29.3 读写文件 812
         29.3.1 读取文件 812
         29.3.2 写入文件 814
         29.3.3 流 815
         29.3.4 缓存的流 816
         29.3.5 使用filestream类读写
         二进制文件 816
         29.3.6 读写文本文件 821
         29.4 映射内存的文件 827
         29.5 读取驱动器信息 829
         29.6 文件的安全性 831
         29.6.1 从文件中读取acl 831
         29.6.2 从目录中读取acl 832
         29.6.3 添加和删除文件中
         的acl项 833
         29.7 读写注册表 835
         29.7.1 注册表 835
         29.7.2 .net注册表类 837
         29.8 读写独立存储器 839
         29.9 小结 844
         第ⅳ部分 数 据
         第30章 核心ado.net 847
         30.1 ado.net概述 847
         30.1.1 名称空间 848
         30.1.2 共享类 848
         30.1.3 数据库专用的类 849
         30.2 使用数据库连接 850
         30.2.1 管理连接字符串 851
         30.2.2 高效地使用连接 852
         30.2.3 事务 854
         30.3 命令 855
         30.3.1 执行命令 856
         30.3.2 调用存储过程 860
         30.4 快速数据访问:
         数据读取器 862
         30.5 管理数据和关系:
         dataset类 865
         30.5.1 数据表 866
         30.5.2 数据列 866
         30.5.3 数据关系 871
         30.5.4 数据约束 872
         30.6 xml架构:用xsd
         生成代码 875
         30.7 填充dataset类 881
         30.7.1 用数据适配器填充
         dataset 882
         30.7.2 从xml中填充
         dataset类 883
         30.8 持久化dataset类的修改 883
         30.8.1 通过数据适配器进行
         更新 883
         30.8.2 写入xml输出结果 886
         30.9 使用ado.net 887
         30.9.1 分层开发 887
         30.9.2 生成sql server的键 888
         30.9.3 命名约定 891
         30.10 小结 892
         第31章 ado.net entity
         framework 893
         31.1 ado.net entity
         framework概述 893
         31.2 entity framework映射 894
         31.2.1 逻辑层 895
         31.2.2 概念层 897
         31.2.3 映射层 898
         31.3 entity client 899
         31.3.1 连接字符串 900
         31.3.2 entity sql 900
         31.4 实体 901
         31.5 对象上下文 904
         31.6 关系 906
         31.6.1 一个层次结构一个表 907
         31.6.2 一种类型一个表 908
         31.6.3 懒惰加载、延迟加载
         和预先加载 909
         31.7 对象查询 910
         31.8 更新 913
         31.8.1 对象跟踪 913
         31.8.2 改变信息 914
         31.8.3 附加和分离实体 916
         31.8.4 存储实体的变化 916
         31.9 linq to entities 917
         31.10 小结 918
         第32章 数据服务 919
         32.1 概述 919
         32.2 包含clr对象的自定义
         宿主 920
         32.2.1 clr对象 920
         32.2.2 数据模型 922
         32.2.3 数据服务 923
         32.2.4 驻留服务 923
         32.2.5 其他服务操作 924
         32.3 http客户端应用程序 925
         32.4 使用wcf数据服务和
         ado.net entity
         framework 929
         32.4.1 asp.net宿主和edm 929
         32.4.2 使用system.data
         .service.client的.net
         应用程序 931
         32.5 小结 938
         第33章 处理xml 939
         33.1 .net支持的xml标准 940
         33.2 system.xml名称空间 940
         33.3 使用system.xml类 941
         33.4 读写流格式的xml 942
         33.4.1 使用 xmlreader类 942
         33.4.2 使用xmlreader类进行
         验证 946
         33.4.3 使用xmlwriter类 947
         33.5 在.net中使用dom 949
         33.6 使用xpathnavigator类 954
         33.6.1 system.xml.xpath
         名称空间 954
         33.6.2 system.xml.xsl
         名称空间 959
         33.6.3 调试xslt 963
         33.7 xml和ado.net 965
         33.7.1 将ado.net数据
         转换为xml文档 965
         33.7.2 把xml文档转换为
         ado.net数据 970
         33.8 在xml中序列化对象 972
         33.9 linq to xml和.net 982
         33.10 使用不同的xml对象 982
         33.10.1 xdocument对象 982
         33.10.2 xelement对象 983
         33.10.3 xnamespace对象 984
         33.10.4 xcomment对象 986
         33.10.5 xattribute对象 986
         33.11 使用linq查询xml
         文档 987
         33.11.1 查询静态的xml
         文档 987
         33.11.2 查询动态的xml
         文档 989
         33.12 xml文档的更多查询
         技术 990
         33.12.1 读取xml文档 990
         33.12.2 写入xml文档 992
         33.13 小结 993
         第34章 .net编程和sql
         server 995
         34.1 .net运行库的宿主 995
         34.2 microsoft.sqlserver.server 997
         34.3 用户定义的类型 998
         34.3.1 创建udt 998
         34.3.2 通过sql使用udt 1003
         34.3.3 从客户端代码中使用
         udt 1004
         34.4 用户定义的聚合函数 1005
         34.4.1 创建用户定义的
         聚合函数 1006
         34.4.2 使用用户定义的
         聚合函数 1007
         34.5 存储过程 1007
         34.5.1 创建存储过程 1008
         34.5.2 使用存储过程 1009
         34.6 用户定义的函数 1010
         34.6.1 创建用户定义的函数 1010
         34.6.2 使用用户定义的函数 1010
         34.7 触发器 1011
         34.7.1 创建触发器 1011
         34.7.2 使用触发器 1012
         34.8 xml数据类型 1013
         34.8.1 包含xml数据的表 1013
         34.8.2 读取xml值 1014
         34.8.3 数据的查询 1017
         34.8.4 xml数据修改语言
         (xml dml) 1019
         34.8.5 xml索引 1020
         34.8.6 强类型化的xml 1021
         34.9 小结 1022
         第ⅴ部分 显 示
         第35章 核心wpf 1025
         35.1 概述 1025
         35.1.1 名称空间 1025
         35.1.2 类层次结构 1027
         35.2 形状 1028
         35.3 几何图形 1030
         35.4 变换 1032
         35.5 画笔 1033
         35.5.1 solidcolorbrush 1033
         35.5.2 lineargradientbrush 1034
         35.5.3 radialgradientbrush 1034
         35.5.4 drawingbrush 1035
         35.5.5 imagebrush 1035
         35.5.6 visualbrush 1036
         35.6 控件 1037
         35.6.1 简单控件 1037
         35.6.2 内容控件 1038
         35.6.3 带标题的内容控件 1039
         35.6.4 项控件 1040
         35.6.5 带标题的项控件 1041
         35.6.6 修饰 1041
         35.7 布局 1042
         35.7.1 stackpanel 1042
         35.7.2 wrappanel 1043
         35.7.3 canvas 1044
         35.7.4 dockpanel 1044
         35.7.5 grid 1045
         35.8 样式和资源 1046
         35.8.1 样式 1046
         35.8.2 资源 1048
         35.8.3 系统资源 1049
         35.8.4 从代码中访问资源 1050
         35.8.5 动态资源 1050
         35.8.6 资源字典 1051
         35.9 触发器 1052
         35.9.1 属性触发器 1053
         35.9.2 多触发器 1054
         35.9.3 数据触发器 1055
         35.10 模板 1056
         35.10.1 控件模板 1057
         35.10.2 数据模板 1060
         35.10.3 样式化列表框 1061
         35.10.4 itemtemplate 1062
         35.10.5 列表框元素的控件
         模板 1064
         35.11 动画 1066
         35.11.1 时间轴 1066
         35.11.2 非线性动画 1069
         35.11.3 事件触发器 1069
         35.11.4 关键帧动画 1072
         35.12 可见状态管理器 1073
         35.13 3-d 1076
         35.13.1 模型 1077
         35.13.2 照相机 1079
         35.13.3 光线 1079
         35.13.4 旋转 1079
         35.14 小结 1080
         第36章 用wpf编写业务
         应用程序 1083
         36.1 数据绑定 1083
         36.1.1 booksdemo应用程序 1084
         36.1.2 用xaml绑定 1086
         36.1.3 简单对象的绑定 1088
         36.1.4 更改通知 1090
         36.1.5 对象数据提供程序 1092
         36.1.6 列表绑定 1094
         36.1.7 主从绑定 1096
         36.1.8 多绑定 1097
         36.1.9 优先绑定 1099
         36.1.10 值的转换 1100
         36.1.11 动态添加列表项 1102
         36.1.12 数据模板选择器 1103
         36.1.13 绑定到xml上 1105
         36.1.14 绑定的验证 1107
         36.2 commanding 1111
         36.2.1 定义命令 1112
         36.2.2 定义命令源 1113
         36.2.3 命令绑定 1113
         36.3 treeview 1114
         36.4 datagrid 1118
         36.4.1 自定义列 1120
         36.4.2 行的细节 1121
         36.4.3 用datagrid进行分组 1121
         36.5 小结 1124
         第37章 用wpf创建文档 1125
         37.1 文本元素 1125
         37.1.1 字体 1125
         37.1.2 texteffect 1127
         37.1.3 内联 1128
         37.1.4 块 1130
         37.1.5 列表 1132
         37.1.6 表 1132
         37.1.7 块的锚定 1134
         37.2 流文档 1135
         37.3 固定文档 1136
         37.4 xps文档 1140
         37.5 打印 1141
         37.5.1 用printdialog打印 1142
         37.5.2 打印可见元素 1142
         37.6 小结 1144
         第38章 silverlight 1145
         38.1 wpf和silverlight的比较 1145
         38.2 创建silverlight项目 1146
         38.3 导航 1148
         38.4 网络 1152
         38.4.1 创建ado.net entity
         data model 1153
         38.4.2 为silverlight客户端
         创建wcf服务 1153
         38.4.3 调用wcf服务 1155
         38.4.4 使用wcf数据服务 1158
         38.4.5 使用system.net访问
         服务 1160
         38.5 浏览器集成 1162
         38.5.1 调用javascript 1162
         38.5.2 javascript调用
         silverlight 1163
         38.6 在浏览器外运行的
         silverlight应用程序 1164
         38.7 小结 1167
         第39章 windows窗体 1169
         39.1 创建windows窗体
         应用程序 1169
         39.2 control类 1175
         39.2.1 大小和位置 1175
         39.2.2 外观 1176
         39.2.3 用户交互操作 1176
         39.2.4 windows功能 1177
         39.2.5 其他功能 1177
         39.3 标准控件和组件 1178
         39.3.1 button控件 1178
         39.3.2 checkbox控件 1178
         39.3.3 radiobutton控件 1179
         39.3.4 combobox控件、
         listbox控件和
         checkedlistbox控件 1179
         39.3.5 datagridview控件 1180
         39.3.6 datetimepicker控件 1188
         39.3.7 errorprovider组件 1188
         39.3.8 imagelist组件 1189
         39.3.9 label控件 1189
         39.3.10 listview控件 1189
         39.3.11 picturebox控件 1189
         39.3.12 progressbar控件 1190
         39.3.13 textbox控件、
         richtextbox控件与
         maskedtextbox控件 1190
         39.3.14 panel控件 1191
         39.3.15 flowlayoutpanel和
         tablelayoutpanel
         控件 1191
         39.3.16 splitcontainer控件 1192
         39.3.17 tabcontrol控件和
         tabpages控件 1192
         39.3.18 toolstrip控件 1193
         39.3.19 menustrip控件 1194
         39.3.20 contextmenustrip
         控件 1194
         39.3.21 toolstripmenuitem
         控件 1194
         39.3.22 toolstripmanager类 1194
         39.3.23 toolstripcontainer
         控件 1195
         39.4 窗体 1195
         39.4.1 form类 1195
         39.4.2 多文档界面 1199
         39.4.3 创建自己的用户控件 1200
         39.5 小结 1200
         第40章 核心asp.net 1201
         40.1 asp.net概述 1201
         40.1.1 asp.net文件的
         处理方式 1202
         40.1.2 web站点和web
         应用程序 1202
         40.1.3 asp.net中的状态
         管理 1203
         40.2 asp.net web窗体 1203
         40.2.1 asp.net代码模型 1207
         40.2.2 asp.net服务器控件 1208
         40.3 ado.net和数据绑定 1222
         40.3.1 更新事件登记
         应用程序 1222
         40.3.2 数据绑定的更多内容 1229
         40.4 应用程序配置 1234
         40.5 小结 1236
         第41章 asp.net的功能 1237
         41.1 用户控件和自定义控件 1238
         41.1.1 用户控件 1238
         41.1.2 pcsdemosite中的
         用户控件 1242
         41.1.3 自定义控件 1243
         41.2 母版页 1247
         41.2.1 在web页面中
         访问母版页 1248
         41.2.2 嵌套的母版页 1248
         41.2.3 pcsdemosite中
         的母版页 1249
         41.3 站点导航 1250
         41.3.1 添加站点地图文件 1251
         41.3.2 pcsdemosite中
         的导航 1252
         41.4 安全性 1253
         41.4.1 使用security setup
         添加forms身份验证
         功能 1254
         41.4.2 实现登录系统 1255
         41.4.3 web 登录服务器控件 1255
         41.4.4 保护目录 1256
         41.4.5 pcsdemosite中的
         安全性 1257
         41.5 主题 1259
         41.5.1 把主题应用于页面 1259
         41.5.2 定义主题 1260
         41.5.3 pcsdemosite中的
         主题 1260
         41.6 web部件 1263
         41.6.1 web部件应用程序
         组件 1263
         41.6.2 web部件示例 1264
         41.7 asp.net ajax 1270
         41.8 ajax的概念 1271
         41.9 asp.net ajax 1273
         41.9.1 核心功能 1273
         41.9.2 asp.net ajax
         control toolkit 1275
         41.10 asp.net ajax网站
         示例 1276
         41.11 支持asp.net ajax的
         网站配置 1278
         41.12 添加asp.net ajax
         功能 1279
         41.12.1 scriptmanager控件 1280
         41.12.2 使用updatepanel
         控件 1281
         41.12.3 使用updateprogress 1283
         41.12.4 使用扩展控件 1284
         41.13 使用ajax库 1286
         41.13.1 给web页面添加
         javascript 1286
         41.13.2 全局实用程序函数 1287
         41.13.3 使用ajax库
         javascript oop
         扩展 1287
         41.13.4 pagerequestmanager
         对象和application
         对象 1289
         41.13.5 javascript的调试 1292
         41.13.6 异步调用web方法 1293
         41.13.7 asp.net应用程序
         服务 1294
         41.14 小结 1294
         第42章 asp.net动态数据
         和mvc 1297
         42.1 路由 1298
         42.1.1 查询字符串参数 1298
         42.1.2 定义路由 1300
         42.1.3 使用路由参数 1303
         42.2 动态数据 1305
         42.2.1 创建动态数据网站 1305
         42.2.2 定制动态数据网站 1310
         42.2.3 进一步开发 1314
         42.3 mvc 1314
         42.3.1 mvc的含义 1314
         42.3.2 asp.net mvc的
         含义 1315
         42.3.3 简单的asp.net mvc
         应用程序 1315
         42.3.4 定制asp.net mvc
         应用程序 1321
         42.3.5 进一步开发 1329
         42.4 小结 1330
         第ⅵ部分 通 信
         第43章 wcf 1333
         43.1 wcf概述 1333
         43.1.1 soap 1335
         43.1.2 wsdl 1335
         43.1.3 rest 1335
         43.1.4 json 1336
         43.2 简单的服务和客户端 1336
         43.2.1 服务协定 1337
         43.2.2 服务的实现 1338
         43.2.3 wcf服务宿主和
         wcf测试客户端 1338
         43.2.4 自定义服务宿主 1340
         43.2.5 wcf客户端 1342
         43.2.6 诊断 1343
         43.3 协定 1345
         43.3.1 数据协定 1345
         43.3.2 版本问题 1346
         43.3.3 服务协定 1346
         43.3.4 消息协定 1347
         43.4 服务的实现 1348
         43.4.1 以编程方式创建
         客户端 1351
         43.4.2 错误处理 1352
         43.5 绑定 1353
         43.6 宿主 1356
         43.6.1 自定义宿主 1356
         43.6.2 was宿主 1357
         43.6.3 预配置的宿主类 1357
         43.7 客户端 1358
         43.8 双工通信 1360
         43.9 小结 1362
         第44章 windows wf 4 1363
         44.1 hello world示例 1363
         44.2 活动 1365
         44.2.1 if活动 1366
         44.2.2 invokemethod活动 1367
         44.2.3 parallel活动 1367
         44.2.4 delay活动 1368
         44.2.5 pick活动 1368
         44.3 自定义活动 1369
         44.3.1 活动的验证 1370
         44.3.2 设计器 1371
         44.3.3 自定义复合活动 1373
         44.4 工作流 1375
         44.4.1 实参和变量 1376
         44.4.2 workflowapplication 1377
         44.4.3 workflowservicehost 1381
         44.4.4 驻留设计器 1386
         44.5 小结 1391
         第45章 对等网络 1393
         45.1 p2p网络概述 1393
         45.1.1 客户端-服务器体系
         结构 1393
         45.1.2 p2p体系结构 1394
         45.1.3 p2p体系结构的挑战 1395
         45.1.4 p2p术语 1396
         45.1.5 p2p解决方案 1396
         45.2 microsoft windows
         peer-to-peer networking 1396
         45.2.1 pnrp 1396
         45.2.2 people near me 1399
         45.3 构建p2p应用程序 1400
         45.3.1 system.net.peertopeer 1400
         45.3.2 system.net.peertopeer
         .collaboration 1405
         45.4 小结 1408
         第46章 消息队列 1409
         46.1 概述 1409
         46.1.1 使用消息队列的场合 1410
         46.1.2 消息队列功能 1411
         46.2 message queuing产品 1412
         46.3 消息队列体系结构 1412
         46.3.1 消息 1413
         46.3.2 消息队列 1413
         46.4 message queuing
         管理工具 1414
         46.4.1 创建消息队列 1414
         46.4.2 消息队列属性 1415
         46.5 消息队列的编程实现 1415
         46.5.1 创建消息队列 1415
         46.5.2 查找队列 1416
         46.5.3 打开已知队列 1417
         46.5.4 发送消息 1418
         46.5.5 接收消息 1421
         46.6 课程订单应用程序 1423
         46.6.1 课程订单类库 1423
         46.6.2 课程订单消息
         发送程序 1424
         46.6.3 发送优先级和可恢复
         的消息 1425
         46.6.4 课程订单消息接收
         程序 1426
         46.7 接收结果 1429
         46.7.1 确认队列 1430
         46.7.2 响应队列 1430
         46.8 事务队列 1431
         46.9 消息队列和wcf 1432
         46.9.1 带数据协定的实体类 1432
         46.9.2 wcf服务协定 1433
         46.9.3 wcf消息接收
         应用程序 1434
         46.9.4 wcf消息发送
         应用程序 1437
         46.10 消息队列的安装 1438
         46.11 小结 1438
         第47章 syndication 1441
         47.1 system.servicemodel.
         syndication名称空间
         概述 1441
         47.2 读取联合源的示例 1442
         47.3 联合源的示例 1444
         47.4 小结 1449
         第ⅶ部分 附 录
         附录a 1453
         ***以下内容见随书附赠光盘***
         第48章 使用gdi+绘图 e1
         48.1 理解绘图规则 e1
         48.1.1 gdi和gdi+ e2
         48.1.2 绘制图形 e3
         48.1.3 使用onpaint()方法
         绘制图形 e6
         48.1.4 使用剪切区域 e7
         48.2 测量坐标和区域 e9
         48.2.1 point和pointf结构 e9
         48.2.2 size和sizef结构 e10
         48.2.3 rectangle和rectanglef
         结构 e11
         48.2.4 region e12
         48.3 调试须知 e13
         48.4 绘制可滚动的窗口 e14
         48.5 世界、页面和设备坐标 e18
         48.6 颜色 e19
         48.6.1 rgb值 e19
         48.6.2 命名颜色 e20
         48.6.3 图形显示模式和安全
         的调色板 e20
         48.6.4 安全调色板 e21
         48.7 画笔和钢笔 e21
         48.7.1 画笔 e22
         48.7.2 钢笔 e23
         48.8 绘制图形和线条 e23
         48.9 显示图像 e25
         48.10 处理图像时的问题 e27
         48.11 绘制文本 e28
         48.12 简单的文本示例 e29
         48.13 字体和字体系列 e30
         48.14 示例:枚举字体系列 e31
         48.15 编辑文本文档:
         capseditor示例 e33
         48.15.1 invalidate()方法 e37
         48.15.2 计算项的大小和文档
         的大小 e38
         48.15.3 onpaint()方法 e39
         48.15.4 坐标转换 e41
         48.15.5 响应用户的输入 e42
         48.16 打印 e45
         48.17 小结 e50
         第49章 vsto e51
         49.1 vsto概述 e51
         49.1.1 项目类型 e52
         49.1.2 项目功能 e54
         49.2 vsto项目基础 e55
         49.2.1 office对象模型 e55
         49.2.2 vsto名称空间 e55
         49.2.3 宿主项和宿主控件 e56
         49.2.4 基本的vsto项目
         结构 e57
         49.2.5 globals类 e60
         49.2.6 事件处理 e60
         49.3 构建vsto解决方案 e61
         49.3.1 管理应用程序级插件 e62
         49.3.2 与应用程序和文档
         交互操作 e63
         49.3.3 ui的自定义 e64
         49.4 示例应用程序 e68
         49.5 小结 e78
         第50章 maf e79
         50.1 maf体系结构 e79
         50.1.1 管道 e80
         50.1.2 发现 e81
         50.1.3 激活和隔离 e82
         50.1.4 协定 e83
         50.1.5 生命周期 e84
         50.1.6 版本问题 e85
         50.2 插件示例 e86
         50.2.1 插件协定 e86
         50.2.2 计算器插件视图 e87
         50.2.3 计算器插件适配器 e88
         50.2.4 计算器插件 e90
         50.2.5 计算器宿主视图 e91
         50.2.6 计算机宿主适配器 e91
         50.2.7 计算器宿主 e93
         50.2.8 其他插件 e97
         50.3 小结 e97
         第51章 enterprise services e99
         51.1 使用enterprise services e99
         51.1.1 简史 e100
         51.1.2 使用enterprise services
         的场合 e100
         51.1.3 重要功能 e101
         51.2 创建简单的com+应用
         程序 e103
         51.2.1 servicedcomponent类 e103
         51.2.2 程序集的属性 e103
         51.2.3 创建组件 e104
         51.3 部署 e106
         51.3.1 自动部署 e106
         51.3.2 手工部署 e106
         51.3.3 创建安装软件包 e106
         51.4 组件服务管理器 e107
         51.5 客户端应用程序 e108
         51.6 事务 e109
         51.6.1 事务的特性 e109
         51.6.2 事务的结果 e110
         51.7 示例应用程序 e111
         51.7.1 实体类 e111
         51.7.2 ordercontrol组件 e113
         51.7.3 orderdata组件 e114
         51.7.4 orderlinedata组件 e116
         51.7.5 客户端应用程序 e117
         51.8 集成wcf和enterprise
         services e118
         51.8.1 wcf服务外观 e118
         51.8.2 客户端应用程序 e122
         51.9 小结 e123
         第52章 目录服务 e125
         52.1 active directory的
         体系结构 e126
         52.1.1 active directory的
         功能 e126
         52.1.2 active directory的
         概念 e126
         52.1.3 active directory数据
         的特征 e129
         52.1.4 指定架构 e130
         52.2 active directory的
         管理工具 e131
         52.2.1 active directory users
         and computers工具 e131
         52.2.2 adsi edit工具 e132
         52.3 active directory编程 e133
         52.3.1 system.directoryservices
         名称空间中的类 e134
         52.3.2 绑定到directory
         services e134
         52.3.3 获取目录项 e138
         52.3.4 对象集合 e140
         52.3.5 缓存 e141
         52.3.6 创建新对象 e141
         52.3.7 更新目录项 e142
         52.3.8 访问本地adsi对象 e143
         52.3.9 在active directory
         中搜索 e144
         52.4 搜索用户对象 e148
         52.4.1 用户界面 e148
         52.4.2 获取架构命名上下文 e149
         52.4.3 获取user类的属性名 e149
         52.4.4 搜索用户对象 e150
         52.5 账户管理 e152
         52.5.1 显示用户信息 e152
         52.5.2 创建用户 e153
         52.5.3 重置密码 e153
         52.5.4 创建组 e154
         52.5.5 在组中添加用户 e154
         52.5.6 查找用户 e154
         52.6 dsml e155
         52.6.1 system.directoryservices.
         protocols名称空间中
         的类 e156
         52.6.2 用dsml搜索
         active directory对象 e156
         52.7 小结 e157
         第53章 c#、visual basic、
         c++/cli和f# e159
         53.1 名称空间 e160
         53.2 定义类型 e161
         53.2.1 引用类型 e161
         53.2.2 值类型 e162
         53.2.3 类型推断 e163
         53.2.4 接口 e164
         53.2.5 枚举 e165
         53.3 方法 e166
         53.3.1 方法的参数和返回
         类型 e166
         53.3.2 参数修饰符 e167
         53.3.3 构造函数 e168
         53.3.4 属性 e170
         53.3.5 对象初始值设定项 e171
         53.3.6 扩展方法 e171
         53.4 静态成员 e172
         53.5 数组 e173
         53.6 控制语句 e174
         53.6.1 if语句 e174
         53.6.2 条件操作符 e174
         53.6.3 switch语句 e175
         53.7 循环 e176
         53.7.1 for语句 e176
         53.7.2 while和do…while
         语句 e177
         53.7.3 foreach语句 e178
         53.8 异常处理 e178
         53.9 继承 e180
         53.9.1 访问修饰符 e180
         53.9.2 关键字 e181
         53.10 资源管理 e183
         53.10.1 idisposable接口的
         实现 e183
         53.10.2 using语句 e184
         53.10.3 重写finalize()方法 e184
         53.11 委托 e186
         53.12 事件 e188
         53.13 泛型 e190
         53.14 linq查询 e192
         53.15 c++/cli混合本地代码
         和托管代码 e192
         53.16 c#的特殊功能 e193
         53.17 小结 e194
         第54章 .net remoting e195
         54.1 使用.net remoting的
         原因 e195
         54.2 .net remoting术语详解 e197
         54.2.1 客户端通信 e198
         54.2.2 服务器端通信 e199
         54.3 上下文 e199
         54.3.1 激活 e200
         54.3.2 特性和属性 e200
         54.3.3 上下文之间的通信 e201
         54.4 远程对象、客户端和
         服务器 e201
         54.4.1 远程对象 e201
         54.4.2 简单的服务器应用
         程序 e202
         54.4.3 简单的客户端应用
         程序 e203
         54.5 .net remoting体系结构 e204
         54.5.1 信道 e204
         54.5.2 格式化程序 e207
         54.5.3 channelservices和
         remotingconfiguration e207
         54.5.4 对象的激活 e209
         54.5.5 消息接收器 e212
         54.5.6 在远程方法中传递对象 e213
         54.5.7 生命周期管理 e216
         54.6 配置文件 e218
         54.6.1 知名对象的服务器
         配置 e220
         54.6.2 知名对象的客户端
         配置 e220
         54.6.3 客户端激活的对象的
         服务器配置 e221
         54.6.4 客户端激活的对象的
         客户端配置 e222
         54.6.5 使用配置文件的
         服务器代码 e222
         54.6.6 使用配置文件的
         客户端代码 e223
         54.6.7 客户端信道的延迟
         加载 e223
         54.6.8 调试配置 e224
         54.6.9 配置文件中的生命
         周期服务 e224
         54.6.10 格式化程序提供程序 e225
         54.7 在asp.net中驻留远程
         服务器 e225
         54.8 类、接口和soapsuds e227
         54.8.1 接口 e227
         54.8.2 soapsuds e227
         54.9 异步远程调用 e228
         54.9.1 使用委托和
         .net remoting e228
         54.9.2 oneway特性 e229
         54.10 .net remoting的
         安全性 e229
         54.11 远程处理和事件 e230
         54.11.1 远程对象 e231
         54.11.2 事件参数 e232
         54.11.3 服务器 e233
         54.11.4 服务器配置文件 e233
         54.11.5 事件接收器 e234
         54.11.6 客户端 e234
         54.11.7 客户端配置文件 e235
         54.11.8 运行程序 e236
         54.12 调用上下文 e236
         54.13 小结 e237
         第55章 web服务和asp.net e239
         55.1 soap e240
         55.2 wsdl e241
         55.3 web服务 e242
         55.3.1 提供web服务 e242
         55.3.2 使用web服务 e246
         55.4 扩充事件登记示例 e248
         55.4.1 事件登记 web服务 e249
         55.4.2 事件登记客户端 e253
         55.5 使用soap标题交换
         数据 e256
         55.6 小结 e261
         第56章 linq to sql e263
         56.1 linq to sql和
         visual studio 2010 e264
         56.1.1 调用products表 e265
         56.1.2 添加linq to sql类 e265
         56.1.3 o/r设计器概述 e266
         56.1.4 创建product对象 e267
         56.2 对象如何映射到linq
         对象上 e269
         56.2.1 datacontext对象 e270
         56.2.2 table[tentity]对象 e274
         56.3 脱离o/r设计器工作 e274
         56.3.1 创建自己的自定义
         对象 e274
         56.3.2 通过自定义对象和
         linq查询 e275
         56.3.3 通过查询限制所调用
         的列 e276
         56.3.4 使用列名 e277
         56.3.5 创建自己的
         datacontext对象 e278
         56.4 自定义对象和o/r
         设计器 e279
         56.5 查询数据库 e280
         56.5.1 使用查询表达式 e280
         56.5.2 查询表达式 e281
         56.5.3 使用表达式筛选 e282
         56.5.4 执行连接 e282
         56.5.5 分组项 e284
         56.6 存储过程 e285
         56.7 小结 e286
         第57章 wpf 3.0 e287
         57.1 hello world示例 e287
         57.2 活动 e288
         57.2.1 ifelseactivity e289
         57.2.2 parallelactivity e290
         57.2.3 callexternalmethod
         activity e291
         57.2.4 delayactivity e291
         57.2.5 listenactivity e292
         57.2.6 活动执行模型 e293
         57.3 自定义活动 e293
         57.3.1 活动的验证 e295
         57.3.2 主题和设计器 e296
         57.3.3 activitytoolboxitem
         和图标 e297
         57.3.4 自定义复合活动 e299
         57.4 工作流 e305
         57.4.1 顺序工作流 e305
         57.4.2 状态机工作流 e305
         57.4.3 给工作流传递参数 e307
         57.4.4 从工作流中返回结果 e308
         57.4.5 将参数绑定到活动上 e309
         57.5 工作流运行库 e310
         57.6 工作流服务 e310
         57.6.1 持久性服务 e312
         57.6.2 跟踪服务 e313
         57.6.3 自定义服务 e315
         57.7 与wcf集成 e316
         57.8 驻留工作流 e318
         57.9 工作流设计器 e319
         57.10 从wf 3.x迁移到wf 4 e320
         57.10.1 把活动代码提取到
         服务中 e320
         57.10.2 删除代码活动 e320
         57.10.3 同时运行wf 3.x
         和4 e321
         57.10.4 考虑把状态机迁移到
         流程图上 e321
         57.11 小结 e321
      · · · · · ·     (
收起)