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

  • 购买积分:17 如何计算积分?
  • 作  者:微软公司著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2010
  • ISBN:9787115221919
  • 页数:584 页
图书介绍:.NET Framework是用于代码编译和执行的集成托管环境,换句话说,它管理着应用程序运行的方方面面,包括程序首次运行的编译、为程序分配内存以存储数据和指令、启动并管理应用程序执行,并且管理剩余内存的再分配等技术。

第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 6

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类型 18

2.5 小结 21

2.6 实验 21

2.7 习题 21

第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 事件 47

4.2.1 使用事件的好处 48

4.2.2 事件的工作方式 48

4.2.3 使用Event语句创建事件 48

4.2.4 EventHandler委托的实现 50

4.2.5 自定义事件参数类 51

4.2.6 事件和委托的关系 53

4.3 小结 53

4.4 实验 54

4.5 习题 54

第5章 读取和写入文件 57

5.1 管理文件系统 57

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

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

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

5.1.4 使用DriveInfo类访问驱动器 62

5.1.5 FileSystemWatcher类 64

5.2 使用字节流 66

5.2.1 使用Stream类管理字节流 67

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

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

5.2.4 使用BufferedStream类提高流性能 69

5.3 压缩和保护流信息 70

5.3.1 压缩和解压缩 70

5.3.2 独立存储 76

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

5.4 管理应用程序数据 81

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

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

5.4.3 管理字符串 83

5.4.4 使用BinaryReader和Binary Writer类管理二进制数据 85

5.5 高效操作字符串 87

5.5.1 字符串处理 87

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

5.6 使用正则表达式 91

5.6.1 正则表达式的概念 92

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

5.7 小结 99

5.8 实验 99

5.9 习题 100

第6章 集合和泛型 102

6.1 集合和集合接口 102

6.1.1 集合 102

6.1.2 集合接口 102

6.2 使用主要集合类型 104

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

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

6.3 使用泛型集合 113

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

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

6.4 使用专用集合 116

6.4.1 StringCollection类 117

6.4.2 StringDictionary类 118

6.4.3 StringEnumerator类 118

6.4.4 CollectionUtil类 119

6.4.5 ListDictionary类 120

6.4.6 HybridDictionary类 121

6.4.7 OrderedDictionary类 122

6.4.8 NameValueCollection类 123

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

6.5 使用集合基类 127

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

6.5.2 CollectionBase类 127

6.5.3 ReadOnlyCollection Base类 130

6.5.4 Dictionary Base类 131

6.6 小结 134

6.7 实验 135

6.8 习题 135

第7章 数据的序列化 137

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

7.1.1 BinaryFormatter类的成员 139

7.1.2 SoapFormatter类的成员 140

7.2 生成序列化的XML格式 141

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

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

7.3 创建自定义序列化类 150

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

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

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

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

7.3.5 使用Obj ectManager类管理反序列化的对象 196

7.4 小结 203

7.5 实验 203

7.6 习题 203

第8章 GD I + 205

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

8.1.1 图形设备接口 206

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

8.1.3 使用Pen类绘制直线 210

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

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

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

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

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

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

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

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

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

8.4 小结 233

8.5 实验 233

8.6 习题 233

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

9.1 加密数据 235

9.1.1 数据加密和数据解密 235

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

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

9.1.4 使用SsIStream类保护TCP/IP通信的安全 248

9.2 计算数据的哈希值 261

9.3 加密行为的扩展 273

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

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

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

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

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

9.4 小结 283

9.5 实验 283

9.6 习题 283

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

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

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

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

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

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

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

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

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

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

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

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

10.3.3 在托管代码中调用COM DLL函数 310

10.3.4 将Exception类映射到HRESULT 312

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

10.3.6 使用Marshal和MarshalAs Attribute类封送数据 315

10.4 小结 319

10.5 实验 319

10.6 习题 319

第11章 使用类型元数据 321

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

11.1.1 反射 321

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

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

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

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

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

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

11.2.2 绑定 347

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

11.3 小结 353

11.4 实验 353

11.5 习题 353

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

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

12.1.1 线程 356

12.1.2 使用Thread类管理线程 356

12.1.3 使用ThreadPool类管理线程池 362

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

12.2.1 异步编程 364

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

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

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

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

12.3.1 应用程序域 374

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

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

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

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

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

12.4 小结 381

12.5 实验 382

12.6 习题 382

第13章 代码访问安全性 385

13.1 实现代码访问安全性 385

13.1.1 代码访问安全性 385

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

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

13.2 管理安全性策略 392

13.2.1 安全性策略 392

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

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

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

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

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

13.3 管理权限 410

13.3.1 权限 410

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

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

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

13.4 管理访问控制 423

13.4.1 访问控制基类的角色 423

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

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

13.5 管理用户标识信息 436

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

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

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

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

13.5.5 使用WindowsImpersonation Context类临时模拟用户 445

13.6 小结 448

13.7 实验 448

13.8 习题 448

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

14.1 管理事件日志 451

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

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

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

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

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

14.3 管理应用程序的性能 461

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

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

14.4 调试应用程序 464

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

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

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

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

14.4.5 StackFrame类 470

14.4.6 StackTrace类 471

14.5 跟踪应用程序 474

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

14.5.2 使用TraceS ource类确定跟踪源 476

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

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

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

14.6 嵌入管理信息和事件 483

14.6.1 管理类 484

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

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

14.7 小结 490

14.8 实验 491

14.9 习题 491

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

15.1 使用Windows服务应用程序 493

15.1.1 服务应用程序 493

15.1.2 使用ServiceBase类创建Windows服务 494

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

15.2 使用ServiceController类控制Windows服务 505

15.3 使用电子邮件消息 507

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

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

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

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

15.3.5 使用SendCompleteEvent Handler处理电子邮件完成事件 518

15.4 小结 520

15.5 实验 521

15.6 习题 521

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

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

16.1.1 全球化 524

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

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

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

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

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

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

16.3 使用主要编码类 545

16.3.1 字符编码 545

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

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

16.4 使用高级编码类 551

16.4.1 使用Encoder和Encoder Fallback类处理故障事件 552

16.4.2 使用Decoder和Decoder Fallback类处理故障事件 552

16.5 小结 555

16.6 实验 555

16.7 习题 555

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

17.1 安装程序集 557

17.1.1 创建程序集 558

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

17.1.3 安装程序集的方法 563

17.2 配置程序集 570

17.2.1 配置文件介绍 570

17.2.2 访问和管理配置文件 571

17.2.3 配置文件高级应用 575

17.3 小结 578

17.4 实验 578

17.5 习题 578

词汇表 580