《.NET Framework高级编程》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:(英)Kevin Hoffman,(英)Jeff Gabriel等著;汪钟鸣,战晓苏译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2002
  • ISBN:7302054061
  • 页数:620 页
图书介绍:本书详细讲述了.NETFramework,从.NETFramework最基本的概念到它在因特网上的应用,所述内容不是枯燥的罗列,而是通过对大量实例进行详细分析。

第1章 .NET背景 1

1.1 .NET的前景和目标 2

1.1.1 时代的挑战 2

1.1.2 .NET如何应对时代的挑战 5

1.2 .NET开发构建块 7

1.2.1 .NET Framework 7

1.2.2 .NET企业服务器 9

1.2.3 .NET构建块服务 10

1.2.4 Visual Studio .NET 12

1.3 .NET应用程序概览 12

1.3.1 Windows窗体应用程序 13

1.3.3 Windows服务应用程序 14

1.3.2 Windows窗体控件 14

1.3.4 ASP.NET Web应用程序 15

1.3.5 Web Service 17

1.4 XML和.NET 20

1.4.1 .NET Framework XML类 20

1.4.2 .NET Framework XML类与SAX API的比较 21

1.4.3 .NET引入XML的好处 21

1.4.4 .NET Framework中基于XML的语法 22

1.5 .NET与COM+之间的互用性 23

1.6 具有竞争性平台:.NET如何符合标准 24

1.7 小结 26

2.1 .NET Framework中最重要的部分 27

第2章 .NET Framework简介 27

2.1.1 公共语言运行时 28

2.1.2 类库 29

2.2 .NET的发展过程 30

2.2.1 DLL天堂 31

2.2.2 组件集成化替代接口 31

2.2.3 应用程序的部署 32

2.2.4 资源管理 32

2.2.5 语言集成化 33

2.2.6 统一的可扩展类库 34

2.2.7 异常处理 35

2.3 Windows DNA是否还适用于.NET 37

2.4 .NET Framework的设计目标 38

2.5 .NET Framework的体系结构 39

2.6 通用类型系统 40

2.6.1 类型系统中的定义 41

2.6.2 基本(primitive)类型 42

2.6.3 类型安全 42

2.7 元数据 43

2.7.1 元数据的内容 44

2.7.2 导出与剖析元数据 44

2.8 公共语言规范 45

2.9 公共语言运行时 46

2.9.1 CLR的设计目标 46

2.9.2 CLR概览 47

2.9.3 类加载器 48

2.9.4 微软中间语言(MSIL) 48

2.9.5 MSIL到本机代码的编译 48

2.9.6 用CTS校验类型安全 48

2.9.7 栈遍历器 48

2.9.8 内存管理和无用单元回收 49

2.9.9 版本和多实例并行运行 49

2.9.10 非托管代码 50

2.10 .NET Class Framework 50

2.11 小结 53

3.1 公共语言运行时(CLR)的详细说明 54

第3章 CLR下的内存管理 54

3.2 数据存储:按引用(By Refercence)和按值(By Value) 57

3.2.1 VB.NET和C#中的By Refercence和By Value 60

3.2.2 C++中的By Reference和By Value 61

3.2.3 托管堆结构(Managed Heap Organization) 64

3.3 托管、非托管和不安全 66

3.3.1 C#:一个不安全的范例 68

3.3.2 C++:托管和非托管 70

3.4 无用单元回收(GC) 72

3.4.1 无用单元回收的算法 73

3.4.2 Finalize 74

3.4.3 弱引用 77

3.4.4 System.GC类 78

3.4.5 大型内存堆 83

3.5 小结 84

第4章 CLR的工作原理 85

4.1 什么是MSIL 85

4.2 CLR——公共语言运行时(Common Language Runtime) 86

4.3 什么是程序集(Assembly) 87

4.3.1 程序集的结构 88

4.3.2 程序集的设计思想 89

4.3.3 不同种类的程序集 89

4.4 通用类型系统 91

4.4.1 System.Object——所有类型的根 91

4.4.2 值型和引用型 92

4.5.2 属性(Attribute) 95

4.5 元数据 95

4.5.1 元数据是从IDL演变而来的吗 95

4.6 公共语言系统(CLS) 98

4.7 反射API 100

4.8 版本 113

4.8.1 .NET Framework提供的基础结构 114

4.8.2 版本化程序集 116

4.8.3 默认版本策略 120

4.8.4 自定义版本策略 120

4.9 命名空间 122

4.9.1 使用命名空间 123

4.10 小结 124

4.9.2 使用别名 124

第5章 .NET下运行程序 125

5.1 中间语言(IL) 126

5.1.1 用IL编程 127

5.1.2 Visual Studio .NET的反汇编窗口 130

5.2 JIT编译 131

.5.2.1 Pre-JIT应用程序 132

5.2.2 JIT编译器性能计数器 134

5.3 内存类型安全 135

5.4 运行时主机 138

5.4.1 用DumpBin剖析运行时主机 139

5.4.2 运行时主机设置 141

5.5 使用应用程序域 145

5.6 IL反汇编程序(ildasm.exe) 146

5.6.1 IL反汇编程序的控制台输出 147

5.6.2 IL反汇编程序图形用户界面 149

5.7 小结 152

第6章 系统类 153

6.1 System命名空间的应用 153

6.1.1 WinCV工具 154

6.1.2 注意事项 155

6.2 字符串处理 155

6.2.1 System.String类 155

6.2.2 StringBuilder 158

6.3 集合类(Collection) 160

6.3.1 集合类接口简介 161

6.3.2 常用集合类 164

6.4 调试与日志 177

6.4.1 Debug与Trace类 177

6.4.2 EventLog类 181

6.5 文件处理与文件系统监控 184

6.5.1 文件处理类概览 185

6.5.2 文件与目录 186

6.5.3 StreamReader和Stream Writer 190

6.5.4 FileStream 192

6.5.5 FileSystem Watcher 193

6.6 访问注册表 197

6.7 连接因特网 199

6.8 异常处理 202

6.8.1 .NET异常处理方法的好处 203

6.8.2 编写异常处理代码的步骤 204

6.8.3 派生自定义的异常类 210

6.9 与日期和时间有关的操作 213

6.10 数组操作 214

6.11 正则表达式 215

6.12 数学运算 218

6.13 小结 219

7.1 实践中的OOP 220

第7章 规划应用程序 220

7.1.1 组件设计与应用程序设计 221

7.1.2 建模 224

7.1.3 任务划分 225

7.1.4 类的设计 227

7.1.5 类与结构(structure) 229

7.1.6 异常处理 229

7.1.7 示例 230

7.2 Windows Form与.NET Framework 247

7.2.1 有效的Form设计与用法 247

7.2.2 应用Windows Form类 248

7.2.3 在Windows Form中使用控件 252

7.3 WebForms、ASP.NET和.NET Framework 254

7.3.1 有效的Form设计和用法 254

7.3.2 使用ASP.NET的WebForms类 256

7.3.3 使用WebForms组件 259

7.4 部署(Deployment) 262

7.5 小结 262

第8章 .NET组件和控件 263

8.1 组件与控件 263

8.2 在.NET中构建组件 264

8.2.1 创建与销毁 264

8.2.2 命名空间 266

8.2.3 对象层次体系和访问级别 266

8.2.4 公开组件数据 270

8.2.5 模板、程序集和命名空间 274

8.2.6 并行执行(DLL地狱的结束) 276

8.2.7 自描述组件(元数据) 280

8.3 COM和.NET 284

8.3.1 数据编排(Data Marshaling) 284

8.3.2 在COM应用程序中使用.NET组件 285

8.3.3 在.NET中使用COM组件 291

8.4 创建.NET控件 294

8.4.1 编写自己的Windows From控件 294

8.4.2 编写自己的WebForms控件 305

8.5 小结 311

第9章 在.NET中处理数据 312

9.1 System.Data 313

9.1.1 Svstem.Data体系结构 313

9.1.2 ADO.NET优点和缺点 333

9.1.3 ADO.NET示例 335

9.1.4 ADO与ADO.NET 342

9.2 Svstem.Xml 344

9.2.1 Svstem.Xml和System.Data 344

9.2.2 XmlDocument 345

9.2.3 XmlDataDocument 346

9.2.4 Xpath简介 352

9.3 小结 354

10.1 什么是Web Service 355

第10章 规划Web Service 355

10.2 Web Service的构建块 356

10.2.1 Web Service Wire Format 356

10.2.2 Web Service描述语言 358

10.2.3 发现Web Service(Discovery of Web Services,DISCO) 359

10.2.4 统一描述、发现和集成(UDDI) 360

10.3 创建Web Service 362

10.3.1 不用Visual Studio.NET创建Web Service 362

10.3.2 用Visual Studio.NET创建Web Service 367

10.4 使用Web Service 372

10.4.1 用Visual Studio.NET创建使用Web Service的客户程序 372

10.4.3 用HTTP-GET使用Web Service 377

10.4.2 用文本编辑器创建使用Web Service的客户应用程序 377

10.5 高级内容 378

10.5.1 设计时应考虑的问题 378

10.5.2 Web Service中的事务处理(Transaction) 380

10.5.3 异步请求Web Service 382

10.5.4 SOAP扩展 383

10.6 什么是HailStorm 383

10.7 小结 384

第11章 .NET Remoting——分布式系统的新型框架 385

11.1 什么是Remoting 385

11.2 Remoting体系结构概述 388

11.2.1 通道 389

11.2.2 应用程序域 390

11.2.3 应用程序上下文 396

1 1.2.4 理解Remoting体系结构 396

11.2.5 System.Runtime.Remoting命名空间 397

11.3 Remoting激活 397

11.3.1 服务器激活 398

11.3.2 客户端激活 398

11.3.3 生存期服务 399

11.3.4 服务器激活租借期配置 399

11.3.5 Remoting配置 400

11.4 分布式应用程序示例 403

11.4.1 应用程序 403

11.4.2 例1——贷款计算 405

11.4.3 例2——优先选择 411

11.4.4 完成任务 417

11.5 小结 417

第12章 .NET Framework下的最佳开发习惯 419

12.1 计划应用程序 420

12.1.1 利用群集(Clustering)技术(有效性、可伸缩性) 421

12.1.2 经常检查安全性(安全性、有效性) 422

12.1.3 建立产品支持小组(有效性) 423

12.1.4 恢复应用程序(有效性) 423

12.1.5 实施有计划地备份(有效性) 423

12.1.8 不断监视(安全性) 424

12.1.7 网络互连(有效性、安全性) 424

12.1.6 硬件(有效性) 424

12.1.9 实现安全规则(安全性) 425

12.1.10 保护数据(安全性) 425

12.1.11 提供尽量少的可见性(安全性) 425

12.1.12 严格身份验证(安全性) 425

12.1.13 系统访问(安全性) 426

12.1.14 合法性验证(安全性) 426

12.1.15 经常查阅微软网站安全文档并更新(安全性) 426

12.1.16 软件配置(可伸缩性、性能) 427

12.1.18 自监视应用程序(可管理性) 428

12.1.19 应用程序和基础结构监视(有效性、安全性、可管理性、可靠性) 428

12.1.17 使用Application Center 2000(可管理性) 428

12.1.20 Windows 2000(有效性、可靠性) 429

12.1.21 环境(有效性) 430

12.1.22 同步所有时钟(有效性) 430

12.1.23 人员(有效性、可靠性) 430

12.1.24 控制在预算之内(可靠性、有效性) 431

12.1.25 软件工程一套方法(可靠性) 431

12.1.26 质量保证(可靠性) 432

12.1.27 实施更改(可靠性) 432

12.2 代码 433

12.2.1 代码复查 433

12.2.2 版本控制 435

12.2.3 编码标准 441

12.3 测试代码 445

12.3.1 经常测试 446

12.3.2 不使用数据测试应用程序功能 447

12.3.3 使用真正的用户数据测试 447

12.3.4 用极奇怪的数据测试 447

12.3.5 让不同人测试 447

12.3.6 使用尽可能多的数据测试 447

12.3.7 创建测试脚本自动测试所有案例 448

12.3.8 应力测试和总成本分析 448

12.3.9 对代码的调试版进行应力测试 448

12.3.13 使用性能日志和警告实用程序监视实时活动 449

12.3.14 尽量隔离网络 449

12.3.11 包含事件查看器结果 449

12.3.12 包含其他应用程序日志 449

12.3.10 使用数据库概要作为应力测试的一部分 449

12.4 小结 450

第13章 迁移到.NET 451

13.1 项目评估 451

13.1.1 定义项目需求 452

13.1.2 证明迁移是正确的 452

13.1.3 .NET的益处 453

13.1.4 检查资源——您可以迁移吗 454

13.1.5 迁移的含义 455

13.2.1 精减 456

13.2 精减、重用、再循环——环境意识下的迁移 456

13.2.2 重用 461

13.2.3 再循环 469

13.2.4 Web Service 470

13.3 进入.NET Framework 472

13.3.1 命名空间 472

13.3.2 继承或接口 474

13.3.3 在无用单元回收(Garbage-Collected)环境中编写代码 475

13.4 如何进行迁移设计 476

13.4.4 审核 477

13.5 实施.NET迁移 477

13.4.2 描述 477

13.4.3 记录 477

13.4.1 确定 477

13.5.1 目标及问题 478

13.5.2 迁移到.NET方法 478

13.5.3 最初的步骤 478

13.5.4 完全迁移 479

13.5.5 .NET Framework设计和风格准则 481

13.5.6 迁移工具 485

13.6 小结 485

14.1 UFixIT软件介绍 486

14.2 迁移案例 486

第14章 VB 6应用程序到VB.NET的迁移 486

14.3 安装示例 487

14.4 BugScope Classic 488

14.4.1 体系结构概览 489

14.4.2 功能需求 489

14.4.3 数据库方案 491

14.4.4 存储过程 494

14.4.5 支持DLL类 495

14.4.6 代码 496

14.5 BugScope.NET 508

14.5.1 体系结构概览 508

14.5.2 功能需求 509

14.5.3 数据库方案 510

14.5.4 服务器端的类 514

14.5.5 客户端应用程序 518

14.5.6 代码 519

14.5.7 扩展示例应用程序 541

14.6 小结 544

第15章 构造调用Web Service的Web应用程序 545

15.1 案例研究介绍 545

15.2 商业问题定义 546

15.3 建议的解决方案 546

15.4 应用程序设计目标 546

15.5 交易过程 547

15.6 实现 547

15.6.1 数据库设计 548

15.6.2 Web服务的实现 551

15.6.3 代理类的实现 561

15.6.4 .NET组件的实现 564

15.6.5 Web应用程序ShoppingLegend的实现 571

15.6.6 整合 586

15.6.7 先决条件和部署 586

15.7 小结 587

附录A .NET类库命名空间 588

A.1 Microsoft命名空间 588

A.2 System命名空间 589

A.2.2 System.Collections 590

A.2.1 System.CodeDom 590

A.2.3 System.ComponentModel 591

A.2.4 System.Configuration 592

A.2.5 System.Data 592

A.2.6 System.Diagnostics 593

A.2.7 System.DirectoryServices 594

A.2.8 System.Drawing 594

A.2.9 System.EnterpriseServices 595

A.2.10 System.Globalization 595

A.2.11 System.IO 595

A.2.13 System.Messaging 596

A.2.14 System.Net 596

A.2.12 System.Management 596

A.2.15 System.Reflection 597

A.2.16 System.Resources 597

A.2.17 System.Runtime 598

A.2.18 System.Security 600

A.2.19 System.ServiceProcess 601

A.2.20 System.Text 602

A.2.21 System.Threading 602

A.2.22 System.Timers 602

A.2.23 System.Web 602

A.2.24 System.Windows.Forms 605

A.2.25 System.Xml 605

A.3 小结 606

附录B 面向对象的程序设计 607

B.1 面向对象的程序设计的概念 607

B.1.1 抽象 608

B.1.2 封装和数据隐藏 608

B.1.3 继承 608

B.1.4 多态性 608

B.2 使用面向对象的优点 609

B.3 .NET中的面向对象 609

B.3.1 类 609

B.3.2 接口 614

B.3.3 继承 615

B.4 更多信息 620