《.NET Framework 2.0程序设计》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:微软公司著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2007
  • ISBN:7040216442
  • 页数:622 页
图书介绍:2002年10月24日,教育部、微软(中国)有限公司、ATA公司三方签署了关于支持中国职业技术教育IT专业课程改革的合作备忘录。在教育部的领导和支持下,微软(中国)有限公司和ATA公司合作参与中国IT教育专业课程改革,微软公司将为改革项目提供包括课程内容、师资培训、认证考试、优惠正版软件等多项支持。高等教育出版社与微软公司合作出版微软院校认证系列教材,此系列教材结合社会需求和IT技术发展方向,并考虑到走上岗位后的能力要求,特别配置了更宽的基础知识和工程化的知识,并融合了微软IT认证,学生在学习课程的同时可以参加IT厂商的认证考试,进而获得相关认证资格。

第1章 .NET Framework 2.0简介 1

1.1 .NET Framework概述 1

1.2 .NET Framework的结构 3

1.2.1 公共语言运行库 3

1.2.2 .NET Framework类库 3

1.3 常见的.NET Framework应用程序 5

1.3.1 ASP.NET Web应用程序 5

1.3.2 Windows窗体应用程序 6

1.3.3 ADO.NET 7

1.3.4 分布式应用程序 7

1.4 .NET Framework的运行环境 8

1.5 小结 9

1.6 习题 9

第2章 公共语言运行库和类型 10

2.1 构建托管代码:通用类型系统 10

2.2 通用类型系统 10

2.2.1 值类型和引用类型 11

2.2.2 值类型和引用类型之间的相互转换:装箱和拆箱 12

2.2.3 类型转换 14

2.3 公共语言规范 15

2.4 特殊系统类型 16

2.4.1 泛型 16

2.4.2 Nullable类型 19

2.5 小结 21

2.6 实验 21

2.7 习题 22

第3章 托管代码的编译和执行 24

3.1 编译和执行概述 24

3.2 编译托管代码 25

3.2.1 Microsoft中间语言 25

3.2.2 元数据 26

3.2.3 属性 27

3.3 组织托管代码:程序集 27

3.3.1 程序集的元数据:清单 28

3.3.2 程序集分类 29

3.4 执行托管代码 30

3.4.1 加载程序集 30

3.4.2 编译MSIL 31

3.4.3 垃圾回收 33

3.4.4 终结器 34

3.4.5 应用程序域 35

3.5 小结 36

3.6 实验 36

3.7 习题 36

第4章 委托和事件 37

4.1 委托 37

4.1.1 使用Delegate类间接调用应用程序方法 39

4.1.2 使用新的C# 2.0技术增强委托行为 45

4.2 事件 48

4.2.1 使用事件的好处 48

4.2.2 事件的工作方式 49

4.2.3 使用Event语句创建事件 49

4.2.4 EventHandler委托的实现 50

4.2.5 自定义事件参数类 52

4.2.6 事件和委托的关系 54

4.3 小结 54

4.4 实验 55

4.5 习题 55

第5章 读取和写入文件 58

5.1 管理文件系统 58

5.1.1 使用Path类访问文件路径 58

5.1.2 使用File和FileInfo类访问文件 60

5.1.3 使用Directory和DirectoryInfo类访问目录 62

5.1.4 使用DriveInfo类访问驱动器 64

5.1.5 FileSystemWatcher类 65

5.2 使用字节流 68

5.2.1 使用Stream类管理字节流 69

5.2.2 使用FileStream类管理文件数据 70

5.2.3 使用MemoryStream类管理内存数据 70

5.2.4 使用BufferedStream类提高流性能 71

5.3 压缩和保护流信息 72

5.3.1 压缩和解压缩 72

5.3.2 独立存储 79

5.3.3 使用独立存储类保护流信息 80

5.4 管理应用程序数据 83

5.4.1 文本、流、字符串和二进制数据 84

5.4.2 管理文本数据和字符串 84

5.4.3 管理字符串 86

5.4.4 使用BinaryReader和BinaryWriter类管理二进制数据 88

5.5 高效操作字符串 91

5.5.1 字符串处理 91

5.5.2 使用StringBuilder类高效操作字符串 91

5.6 使用正则表达式 95

5.6.1 正则表达式的概念 95

5.6.2 使用正则表达式类分析文本模式 98

5.7 小结 103

5.8 实验 104

5.9 习题 104

第6章 集合和泛型 107

6.1 集合和集合接口 107

6.1.1 集合 107

6.1.2 集合接口 107

6.2 使用主要集合类型 109

6.2.1 通过迭代器循环访问类的成员 110

6.2.2 根据键/值对和比较器访问引用类型 114

6.3 使用泛型集合 118

6.3.1 使用泛型List类型创建类型安全的集合 119

6.3.2 使用泛型Stack集合和Queue集合 120

6.4 使用专用集合 122

6.4.1 StringCollection类 123

6.4.2 StringDictionary类 124

6.4.3 StringEnumerator类 125

6.4.4 CollectionUtil类 125

6.4.5 ListDictionary类 126

6.4.6 HybridDictionary类 127

6.4.7 OrderedDictionary类 129

6.4.8 NameValueCollection类 129

6.4.9 使用专用位结构在内存中高效地存储数据 130

6.5 使用集合基类 133

6.5.1 使用集合基类创建自定义集合 133

6.5.2 CollectionBase类 134

6.5.3 ReadOnlyCollectionBase类 136

6.5.4 DictionaryBase类 138

6.6 小结 141

6.7 实验 142

6.8 习题 142

第7章 数据的序列化 144

7.1 生成序列化的二进制格式和SOAP格式 144

7.1.1 BinaryFormatter类的成员 146

7.1.2 SoapFormatter类的成员 147

7.2 生成序列化的XML格式 148

7.2.1 使用XmlSerializer类将对象序列化为XML格式 149

7.2.2 使用XML序列化属性控制生成的XML 150

7.3 创建自定义序列化类 158

7.3.1 使用序列化类型收集序列化信息 158

7.3.2 使用序列化接口创建自定义类 162

7.3.3 使用格式化程序类将数据转换为序列化格式 177

7.3.4 使用事件处理程序属性处理序列化事件 192

7.3.5 使用ObjectManager类管理反序列化的对象 208

7.4 小结 215

7.5 实验 216

7.6 习题 216

第8章 GDI+ 218

8.1 使用图形、画笔、钢笔、颜色和字体 218

8.1.1 图形设备接口 219

8.1.2 使用Graphics类创建绘制表面 219

8.1.3 使用Pen类绘制直线 223

8.1.4 使用Brush类为图形对象填充颜色 225

8.1.5 使用Color类为图形对象应用颜色 229

8.1.6 使用Font类在绘制表面写入文本 234

8.2 操作图形对象的形状和大小 239

8.2.1 使用Rectangle类型绘制图形形状 239

8.2.2 使用Point和Size类型指定对象大小 242

8.3 使用图像、位图和图标 243

8.3.1 使用Image和Bitmap类将图像添加到绘制区域 243

8.3.2 使用Icon类将图标插入绘制表面 246

8.4 小结 248

8.5 实验 248

8.6 习题 248

第9章 在.NET Framework 2.0中实现加密 250

9.1 加密数据 250

9.1.1 数据加密和数据解密 250

9.1.2 使用对称算法类执行对称加密 251

9.1.3 使用非对称类执行非对称加密 260

9.1.4 使用SslStream类保护TCP/IP通信的安全 264

9.2 计算数据的哈希值 278

9.3 加密行为的扩展 292

9.3.1 使用加密类管理配置信息 292

9.3.2 使用DPAPI类保护文件和内存中的数据 296

9.3.3 使用CspParameters类自定义CSP对象的行为 298

9.3.4 使用CryptoAPITransform类修改加密信息 300

9.3.5 为加密函数生成随机数 302

9.4 小结 303

9.5 实验 303

9.6 习题 303

第10章 COM组件与.NET Framework程序集之间的交互操作 306

10.1 使用Interop服务访问COM组件 306

10.1.1 通过导入类型库创建Interop程序集 306

10.1.2 在托管代码中使用COM的数据类型与COM组件进行交互操作 314

10.1.3 编译和部署Interop应用程序的方法 314

10.2 使用Interop服务向COM组件公开程序集 315

10.2.1 与COM组件进行交互操作的.NET Framework类型 315

10.2.2 应用属性控制COM互操作性的类型转换 318

10.2.3 打包和部署程序集以实现与COM组件的互操作 324

10.3 使用平台调用服务访问COM组件 327

10.3.1 创建保存Win32 API函数的.NET Framework类 327

10.3.2 在托管代码中创建原型 328

10.3.3 在托管代码中调用COMDLL函数 331

10.3.4 将Exception类映射到HRESULT 333

10.3.5 平台调用封送数据的方法 335

10.3.6 使用Marshal和Marshal-AsAttribute类封送数据 336

10.4 小结 340

10.5 实验 340

10.6 习题 341

第11章 使用类型元数据 343

11.1 通过预定义的Assembly类使用类型元数据 343

11.1.1 反射 343

11.1.2 使用Assembly类访问类型元数据 344

11.1.3 使用MemberInfo类研究类型元数据 348

11.1.4 使用MethodBody类检查方法的内容 358

11.1.5 使用程序集属性向元数据添加自定义信息 360

11.2 通过自定义类动态使用程序集 362

11.2.1 使用生成器类动态创建程序集 363

11.2.2 绑定 371

11.2.3 使用绑定类型控制成员绑定 372

11.3 小结 377

11.4 实验 377

11.5 习题 377

第12章 创建多线程应用程序和应用程序域 379

12.1 管理同步环境中的线程 379

12.1.1 线程 379

12.1.2 使用Thread类管理线程 380

12.1.3 使用ThreadPool类管理线程池 386

12.2 管理异步环境中的线程 388

12.2.1 异步编程 389

12.2.2 使用异步类管理回调方法 390

12.2.3 通过异步调用迁移线程的执行上下文 392

12.2.4 使用Synchronization-Context类管理异步环境 396

12.3 应用程序域的工作原理 399

12.3.1 应用程序域 399

12.3.2 使用AppDomainSetup类配置应用程序域 400

12.3.3 使用AppDomain类创建应用程序域 401

12.3.4 从应用程序域检索设置信息 403

12.3.5 将程序集加载到应用程序域 404

12.3.6 使用AppDomain类卸载应用程序域 405

12.4 小结 407

12.5 实验 407

12.6 习题 407

第13章 代码访问安全性 410

13.1 实现代码访问安全性 410

13.1.1 代码访问安全性 410

13.1.2 使用.NET Framework配置工具配置安全性 412

13.1.3 使用证据类型确定程序集权限 414

13.2 管理安全性策略 417

13.2.1 安全性策略 417

13.2.2 使用SecurityManager类配置安全性策略 419

13.2.3 使用策略类管理安全性策略 420

13.2.4 使用代码组类配置代码组 422

13.2.5 使用条件类管理代码组成员 425

13.2.6 使用安全性策略接口创建自定义安全性策略 430

13.3 管理权限 437

13.3.1 权限 438

13.3.2 使用CodeAccessPermission类实现权限类型 438

13.3.3 配置代码访问安全性权限 440

13.3.4 使用权限集类管理权限组 448

13.4 管理访问控制 452

13.4.1 访问控制基类的角色 452

13.4.2 使用访问控制列表类管理用户对资源的访问 453

13.4.3 使用资源安全类保护资源 458

13.5 管理用户标识信息 466

13.5.1 IIdentity接口和IPrincipal接口的角色 466

13.5.2 使用GenericIdentity类管理用户标识 467

13.5.3 使用Windows标识类确定Windows用户身份 470

13.5.4 使用IdentityReference类收集用户标识信息 472

13.5.5 使用WindowsImpersonationContext类临时模拟用户 476

13.6 小结 479

13.7 实验 479

13.8 习题 480

第14章 监视和调试应用程序 483

14.1 管理事件日志 483

14.2 应用程序进程的工作原理 485

14.2.1 检索所有正在运行的进程的列表 485

14.2.2 检索关于当前进程的信息 487

14.2.3 检索进程所使用的所有模块的列表 489

14.2.4 启动和停止应用程序进程 491

14.3 管理应用程序的性能 493

14.3.1 使用性能监视器监视应用程序的性能 493

14.3.2 使用性能计数器类自定义性能信息 494

14.4 调试应用程序 497

14.4.1 使用可视化调试器检查应用程序错误 497

14.4.2 使用Debugger类以编程方式进行调试 498

14.4.3 使用Debug类以编程方式进行调试 499

14.4.4 使用Debugger属性配置用户定义的类型 502

14.4.5 StackFrame类 503

14.4.6 StackTrace类 504

14.5 跟踪应用程序 507

14.5.1 使用Trace类以编程方式跟踪应用程序 507

14.5.2 使用TraceSource类确定跟踪源 510

14.5.3 使用TraceSwitch类配置跟踪输出 511

14.5.4 使用TraceListener类定向跟踪输出 511

14.5.5 使用CorrelationManager类分类跟踪信息 515

14.6 嵌入管理信息和事件 517

14.6.1 管理类 518

14.6.2 为应用程序预订管理事件 518

14.6.3 通过WMI检索系统资源信息 521

14.7 小结 524

14.8 实验 525

14.9 习题 525

第15章 使用服务应用程序和电子邮件消息 527

15.1 使用Windows服务应用程序 527

15.1.1 服务应用程序 527

15.1.2 使用ServiceBase类创建Windows服务 528

15.1.3 使用ServiceInstaller类安装服务应用程序 536

15.2 使用ServiceController类控制Windows服务 540

15.3 使用电子邮件消息 542

15.3.1 使用邮件类创建电子邮件消息 542

15.3.2 使用MailAttachment类向电子邮件消息添加资源 545

15.3.3 使用SmtpClient类发送电子邮件消息 550

15.3.4 使用SMTP异常类处理电子邮件异常 552

15.3.5 使用SendCompleteEventHandler处理电子邮件完成事件 554

15.4 小结 556

15.5 实验 556

15.6 习题 556

第16章 创建全球化应用程序 558

16.1 使用全球化类处理文化环境信息 558

16.1.1 全球化 559

16.1.2 使用CultureInfo类访问文化环境 560

16.1.3 使用RegionInfo类访问区域信息 564

16.1.4 使用DateTimeFormatInfo类格式化某种文化环境中的日期/时间值 567

16.1.5 使用NumberFormatInfo类格式化数字值 571

16.1.6 使用CompareInfo类比较文化环境信息 575

16.2 创建自定义的文化环境 579

16.3 使用主要编码类 581

16.3.1 字符编码 582

16.3.2 使用Encoding和EncodingInfo类对字符进行编码 583

16.3.3 使用ASCII和Unicode标准对字符进行编码 585

16.4 使用高级编码类 588

16.4.1 使用Encoder和EncoderFallback类处理故障事件 589

16.4.2 使用Decoder和DecoderFallback类处理故障事件 589

16.5 小结 592

16.6 实验 592

16.7 习题 592

第17章 配置和安装程序集 595

17.1 安装程序集 595

17.1.1 创建程序集 596

17.1.2 使用全局程序集缓存共享程序集 600

17.1.3 安装程序集的方法 602

17.2 配置程序集 609

17.2.1 配置文件介绍 609

17.2.2 访问和管理配置文件 610

17.2.3 配置文件高级应用 615

17.3 小结 617

17.4 实验 617

17.5 习题 617

词汇表 619