C# 高级编程(第 7 版)

0
(0)

C# 高级编程(第 7 版)

作者:christiannagel/billevjen/jayglynn

出版社:清华大学出版社

译者:李铭

出版年:2010-11

页数:1473

定价:148.00元

装帧:平装

丛书:wrox红皮书

ISBN:9787302239376

内容简介
······

本书是Wrox畅销书,C#经典名著!2009年度全行业优秀畅销书。自第一版出版以来,都是国内读者的普遍好评,累计销量近十万册。

《C#高级编程(第7版)》的顶级专家作者团队首先复习了C#的基础知识,之后详细讲解了该语言和架构中的所有新增功能,使读者能立即开始编写Windows应用程序和ASP.NET Web应用程序。

本书几乎涵盖C#语言的所有功能,对于C#初学者和有经验的程序员是值得大力推荐的书籍。实践证明,本书是关于C# 和 Visual Studio的一本全面而且权威的参考书。

新的C# 4对于在Visual Studio 2010中编写代码是必不可少的。这本实用指南强调,C#是编写.NET 4应用程序的首选语言。《C#高级编程(第7版)》的顶级专家作者团队首先复习了C#的基础知识,之后详细讲解了该语言和架构中的所有新增功能,使读者能立即开始编写Windows应用程序和ASP.NET Web应用程序。

本书主要内容

◆ 回顾.NET体系结构、对象、泛型、继承、数组、运算符、类型强制转换、委托、事件、Lambda表达式等

◆ 详细论述C#中的动态对象、命名参数和可选参数、COM专用的交互操作功能、安全类型变体

◆ 阐述.NET 4的新增功能、WF 4、ADO.NET 数据服务、MEF、并行任务库和PLINQ

◆ 深入探讨LINQ、WCF、WPF、流文档和固定文档及Silverlight等功能强大的技术

◆ 回顾ASP.NET编程,介绍ASP.NET MVC和ASP.NET 动态数据等新功能

◆ 讨论使用WCF、MSMQ、点对点和联合进行通信

作者简介
······

CHRISTIAN NAGEL是Microsoft区域董事、Microsoft MVP,thinktecture的合作伙伴,CN革新技术的拥有者,他是一位软件架构师和开发人员,为开发Microsoft .NET解决方案提供培训和咨询服务。他具备超过25年的软件开发经验。Christian从PDP 11和VAX/VMS系统开始其计算机生涯,熟悉各种语言和平台。

目录
······

第ⅰ部分 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

评论 ······

全面讲述了C#编程方面的知识,其在C#学习中的地位与C++ Premier在C++学习的地位差不多。

项目需要,已读:第24章 网络,第39章 windows窗体,mark之~~~~

前十六章看完,感觉高不成低不就,章节安排也有点乱,不推荐。

不得不说 暂时.net的书太少了。。。

点击星号评分!

平均分 0 / 5. 投票数: 0

还没有投票!请为他投一票。

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册