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

  • 购买积分:22 如何计算积分?
  • 作  者:Fred Barwell,Richard Blair等著;张加荣译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2002
  • ISBN:7302058067
  • 页数:812 页
图书介绍:本书的主要内容包括:.NETFramework和公共语言运行时(CLR)、应用继承从基类中派生类、命名空间、创建Windows应用程序和定制Windows控件、用VB.NET访问Web上的信息以及用.NETFrameworkSDK中提供的工具保护应用程序和代码安全等。

1.1 DNA编程模式 1

第1章 什么是Microsoft.NET 1

1.1.1 表示层 2

1.1.2 中间层 3

1.1.3 数据层 3

1.1.4 关于DNA模型的问题 3

1.2 COM的限制 4

1.2.1 DLL Hell 4

1.2.2 缺乏与其他平台的交互操作能力 4

1.2.3 缺乏内置的继承 4

1.3 VB6用于DNA应用程序开发的局限 5

1.4 基于DNA的Internet开发的其他局限 5

1.4.1 不同的编程模式 5

1.4.3 Web上的弱用户界面 6

1.5 需要抽象操作系统 6

1.4.2 非自动状态管理 6

1.6 解决方案——Microsof.NET 7

1.7 Microsof.NET的结构 8

1.7.1 公共语言运行时 9

1.7.2 .NET Framework类库 9

1.7.3 用户接口和程序接口 10

1.8 Microsof.NET如何达到它的目标 11

1.8.1 简化软件开发 11

1.7.4 XML作为.NET的“元语言” 11

1.8.2 高度的分布式系统 12

1.8.3 Web上的更好用户界面 12

1.8.4 简化部署 12

1.8.5 对各种语言的支持 13

1.8.6 平台的可扩展性 13

1.8.7 未来的可移植性 13

1.9 COM的角色 13

1.12 对Visual Basic的影响 14

1.10 DNA的角色 14

1.11 其他优点 14

1.13 小结 15

第2章 V B.NET和VS.NET简介 16

2.1 Visual Studio.NET 16

2.1.1 我的配置 17

2.1.2 定制帮助 17

2.2 新的IDE特性 17

2.3 创建Windows应用程序 17

2.4 命名空间和Imports关键字 19

2.4.1 Windows应用程序的默认命名空间 20

2.4.2 选项卡与MDI界面 21

2.4.3 新代码窗口 21

2.4.4 Properties窗口 22

2.5 代码分析 23

2.6 AssemblyInfo.vb文件 25

2.7 增强范例应用程序的功能 27

2.7.1 添加控件 27

2.7.2 添加事件处理程序 27

2.7.3 修改代码 28

2.8 单步调试Hello World范例 31

2.8.1 构建配置(build configurations) 31

2.8.2 建立应用程序 33

2.8.3 运行应用程序 34

2.9 VS.NET的有用功能 34

2.9.1 任务列表 34

2.9.2 命令窗口 35

2.9.3 Server Explorer 36

2.10 在Visual Studio.NET中记录和使用宏 37

2.11 小结 38

3.1.1 程序集 39

3.1 .NET应用程序概述 39

第3章 公共语言运行时 39

3.1.2 模块 40

3.1.3 类型 40

3.2 版本化和部署 41

3.2.1 对于版本化的更好支持 41

3.2.2 更好的部署 42

3.3 内存管理 42

3.3.1 更好的垃圾收集功能 42

3.3.2 更快的对象内存分配 46

3.3.3 GC的优化 47

3.4 跨语言的集成 49

3.5 元数据 50

3.5.1 对元数据的更好支持 51

3.5.2 属性(Attribute) 51

3.6 IL Disassembler 53

3.5.3 Reflection API 53

3.7 小结 54

第4章 变量和类型 55

4.1 值类型和引用类型 55

4.2 值类型(结构) 57

4.3 显式转换 63

4.3.1 Option Strict、Option Explicit和Option Compare 64

4.3.2 执行显式转换 65

4.4 引用类型(类) 67

4.4.1 Object类 67

4.4.2 String类 69

4.4.3 DBNull类 71

4.4.4 数组 72

4.4.5 集合 74

4.5 参数传递 76

4.6 装箱 76

4.7 不再使用的关键字和函数 78

4.8 小结 79

第5章 对象语法综述 80

5.1 面向对象的术语 81

5.1.1 对象、类和实例 81

5.1.2 对象的组成 81

5.2 使用对象 84

第7章 对象和组件的应用 1 84

5.2.1 对象的声明和实例化 85

5.2.2 对象引用 87

5.2.3 取消对象的引用 87

5.2.4 前期及后期绑定 87

5.3 创建类 90

5.3.1 创建基类 90

5.3.2 构造函数方法 106

5.3.3 终止和清除 108

5.4.1 高级方法 111

5.4 高级概念 111

5.4.2 类和组件 124

5.5 小结 128

第6章 继承和接口 129

6.1 继承 129

6.2 多接口 175

6.2.1 对象接口 176

6.2.2 辅助接口 177

6.3 小结 183

7.1 抽象性 184

7.2 封装性 186

7.3 多态性 189

7.3.1 方法签名 189

7.3.2 实现多态性 190

7.4.1 使用继承的场合 199

7.4 继承 199

7.4.2 继承和多接口 202

7.4.3 进一步探讨 207

7.4.4 容易被破坏的基类问题 208

7.5 小结 211

第8章 命名空间 212

8.1 命名空间的定义 212

8.1.1 命名空间和引用 215

8.1.2 通用的命名空间 216

8.2 导入命名空间并为其命名别名 218

8.2.1 导入命名空间 218

8.2.2 为命名空间命名别名 219

8.3 创建命名空间 220

8.4 小结 221

9.1 CLR异常处理程序 222

第9章 错误处理 222

9.2 标准化错误处理 223

9.3 On Error语句 223

9.4 异常处理程序 225

9.4.1 Try…Catch…Finally 225

9.4.2 异常的属性和方法 228

9.4.3 托管和非托管代码之间的错误处理 235

9.5 错误记录 237

9.5.1 事件日志 237

9.5.2 写入追踪文件 241

9.6 调试与测定性能 242

9.7 小结 247

第10章 在VB.NET中使用XML 248

10.1 XML简介 249

10.2 XML串行化 250

10.4 XML流类型分析程序 256

10.3 System.Xml文档支持 256

10.4.1 写入XML流 257

10.4.2 读取XML流 260

10.4.3 使用MemoryStream对象 266

10.4.4 Document Object Model(DOM) 269

10.5 XSLT转换 275

10.5.1 XML标准之间的XSLT转换 279

10.5.2 其他的System.Xml.Xsl类和接口 282

10.6 ADO.NET 282

10.6.1 ADO.NET和SQL Server XML的特征 283

10.6.2 类型化的DataSet对象 286

10.6.3 生成类型化的DataSet 286

10.7 小结 291

第11章 用ADO.NET访问数据 292

11.1.1 ADO.NET组件 293

11.1 ADO.NET体系结构 293

11.1.2 ADO和ADO.NET之间的区别 294

11.2 .NET数据提供程序 298

11.2.1 Connection对象 298

11.2.2 Command对象 298

11.2.3 DataReader对象 299

11.2.4 DataAdapter对象 301

11.2.5 SQLServer.NET数据提供程序 304

11.2.6 OLE DB.NET数据提供程序 304

11.3 DataSet组件 305

11.3.1 DataTableCollection 305

11.3.2 DataRelationCollection 305

11.3.3 ExtendedProperties 306

11.3.4 创建和使用DataSet对象 306

11.3.5 ADO.NET的DataTable对象 311

11.4 ADO.NET中的连接池 311

11.5.1 创建存储过程 312

11.5 在ADO.NET中使用存储过程 312

11.5.2 调用存储过程 314

11.6 创建Data Access组件 316

11.6.1 构造函数 317

11.6.2 属性 319

11.6.3 存储过程XML结构 319

11.6.4 方法 320

11.7 使用DataSet对象绑定DataGrid 331

11.8 小结 334

第12章 Windows Forms 335

12.1 System.Windows.Forms命名空间 335

12.2 窗体是类 336

12.3 设计窗体 338

12.3.1 设计时间网格 338

12.3.2 设置启动窗体 338

12.3.3 窗体边框 339

12.3.4 总在最上面 340

12.3.5 启动位置 340

12.3.6 窗体的不透明性(透明性) 341

12.3.7 可视化继承 341

12.3.8 MDI窗体 342

12.3.9 窗体尺寸限制的设置 343

12.3.10 滚动窗体 344

12.4 运行时的窗体 344

12.5 控件 345

12.5.1 控件标志(tab)顺序 345

12.5.2 控件数组 346

12.5.3 自动调整控件的尺寸和位置 348

12.5.4 数据输入的验证和错误提供程序 350

12.5.5 菜单 353

12.5.6 工具栏 357

12.5.7 通用对话框 359

12.5.8 拖放操作 361

12.5.9 标准Windows.Forms控件的总结 363

12.5.10 撤销控件 368

12.5.11 使用ActiveX控件 368

12.5.12 其他方便的编程技巧 368

12.6 小结 369

第13章 创建Windows控件 370

13.1 控件的源 370

13.1.1 内置控件 370

13.1.2 现有的ActiveX控件 370

13.1.3 第三方控件 371

13.1.4 自定义控件 371

13.2 在.NET中开发自定义控件 371

13.2.1 从另一个控件继承 371

13.3 用于创建控件的基类 372

13.3.1 Control类 372

13.2.3 从头编写控件 372

13.2.2 建立复合控件 372

13.3.2 UserControl类 374

13.4 从另一个控件中继承 375

13.4.1 进程的概述 375

13.4.2 创建一个仅能输入数值的文本框 375

13.4.3 在自定义控件中改变逻辑处理 378

13.4.4 调试自定义控件 378

13.4.5 为自定义控件增加额外的逻辑处理 378

13.4.6 为自定义控件创建属性 379

13.4.7 为继承的控件建立自定义事件 381

13.4.8 创建一个限制所选项数量的复选列表框 381

13.5 复合的UserControl 386

13.5.1 创建一个复合的UserControl 386

13.5.3 为控件设置最小尺寸 387

13.5.4 提供子控件的属性 387

13.5.2 调整控件的大小 387

13.5.5 完成例子的步骤 388

13.6 从头建立控件 392

13.6.1 用GDI+绘制自定义控件 392

13.6.2 控件的完整实现 397

13.7 扩展TreeView控件 397

13.7.1 扫描文件和目录 397

13.7.2 运行程序 401

13.8 小结 402

第14章 Web Forms 403

14.1 Web Forms 403

14.1.1 设置环境 403

14.1.2 HelloWorld Web Form 403

14.2 剖析Web Form 407

14.2.1 模板的表示方式 407

14.3 一个更复杂的范例 408

14.2.2 代码部分 408

14.4 ASP.NET Web Forms的处理流程 411

14.5 Web Forms中的可用控件 414

14.5.1 服务器端控件的概念 414

14.5.2 HTML服务器控件 416

14.5.3 ASP.NET服务器控件 417

14.5.4 验证控件 418

14.5.5 用户控件 420

14.6 Web Forms中的事件 420

14.6.1 Web Form的生存期 420

14.6.2 事件类别 421

14.7 Web Forms与ASP 422

14.8 在Web Forms中传送控件 424

14.9 最后一个范例 424

14.10 小结 437

15.1 创建定制控件的原因 438

第15章 创建Web控件 438

15.3 定制Web控件的类型 439

15.3.1 Web用户控件 439

15.2 何时创建自己的控件 439

15.3.2 子类控件 440

15.3.3 复合控件 441

15.3.4 模板控件 441

15.4 何时使用定制的Web控件 443

15.5 创建Web用户控件 444

15.5.1 把一个Web用户控件项添加到工程中 450

15.5.2 在Web用户控件中重用代码 453

15.5.3 @Control指令 453

15.5.4 Web用户控件和@Register指令 454

15.5.5 剖析Web用户控件 455

15.5.6 扩展Web用户控件 465

15.6 创建子类控件 466

15.5.7 其他Web用户控件的功能 466

15.6.1 创建一个试验台工程 467

15.6.2 子类控件和Web定制控件模板 468

15.6.3 Render方法 469

15.6.4 开发子类控件 472

15.7 小结 479

第16章 数据绑定 480

16.1 显示数据 480

16.1.1 保存做出的改变 482

16.1.2 配置Update语句 485

16.2 主/从数据绑定 487

16.2.1 一个DataGrid中有多个相关的表 487

16.2.2 更有效的解决方案 490

16.3 窗体 493

16.3.1 在记录之间移动 497

16.3.2 保存改变 500

16.4.1 项目列表 504

16.4 什么数据可以进行数据绑定 504

16.4.2 对象的属性 505

16.5 小结 506

第17章 使用传统的COM和接口 508

17.1 传统的COM 508

17.2 现在使用的COM和.NET 509

17.2.1 传统的组件 509

17.2.2 .NET应用程序 512

17.2.3 调试 514

17.2.4 直接使用Tlblmp 514

17.2.5 后期绑定 515

17.3 ActiveX控件 520

17.3.1 传统ActiveX控件 520

17.3.2 另一个.NET应用程序 523

17.4 在COM中使用.NET组件 524

17.3.3 再次调试 524

17.4.1 .NET组件 525

17.4.2 RegAsm 526

17.4.3 TlbExp 529

17.5 小结 529

第18章 组件服务 530

18.1 事务处理 530

18.2 事务处理组件 532

18.3 事务处理的其他方面 544

18.3.1 人工事务处理 544

18.3.2 Just In Time 545

18.3.3 对象池 545

18.3.4 其他情况 545

18.4 排队组件 546

18.4.1 排队组件的范例 546

18.4.2 使用排队组件进行事务处理 551

18.5 小结 553

第19章 线程 554

19.1 线程的含义 554

19.1.1 进程与线程 555

19.1.2 何时使用线程 557

19.2 线程范例 559

19.2.1 创建ThreadWorker 559

19.2.2 调用SpinUp 560

19.3 同步 561

19.3.1 中断、等待状态和传送信号 562

19.3.2 同步的过程 565

19.3.3 死锁 579

19.4 线程池 579

19.4.1 Worker对象 581

19.4.2 创建Worker对象 583

19.5 使用线程池改进ManualResetEvent.WaitOne 589

19.6 小结 595

第20章 远程技术 596

20.1 远程技术概述 596

20.2 Singleton和Single调用 598

20.3 客户激活的对象 599

20.4 简单的客户/服务器范例 599

20.4.1 建立服务程序 600

20.4.2 把对象注册为远程 602

20.4.3 建立客户程序 606

20.5 按引用传递和按值传递 608

20.5.1 Serializable属性 609

20.5.2 复杂的串行化 614

20.6 使用CallContext 616

20.6.1 创建SecurityToken 617

20.6.2 创建客户程序 618

20.6.3 给服务器添加PingSecurityToken 620

20.7 放置元数据的位置 621

20.8 小结 623

第21章 Windows服务 624

21.1 Windows服务范例 624

21.2 Windows服务的特性 625

21.3 与Windows服务交互 625

21.4 创建Windows服务 626

21.4.1 用于Windows服务的.NET Framework类 626

21.4.2 Windows服务的其他类型 629

21.5 用VB.NET创建Windows服务 629

21.6 创建计数监视器服务 630

21.6.1 安装服务 632

21.6.2 启动服务 632

21.6.3 卸载服务 633

21.7.1 创建性能计数器 634

21.7 监视性能计数器 634

21.7.2 把计数器集成到服务中 635

21.7.3 修改性能计数器中的值 635

21.8 与服务通信 636

21.8.1 ServiceController类 637

21.8.2 把ServiceController集成到例子中 638

21.8.3 ServiceController的更多内容 639

21.9 定制命令 639

21.10.2 创建FileSystemWatcher 642

21.10 创建文件监视程序 642

21.10.1 使用Eventlog编写事件 642

21.11 调试服务 646

21.12 小结 648

第22章 Web服务 649

22.1 Web服务简介 649

22.2.3 使用Web合并Internet和应用程序 650

22.2.2 应用程序的发展 650

22.2.1 网络角度 650

22.2 早期的体系结构设计 650

22.2.4 Web服务基础 651

22.2.5 问题 652

22.2.6 其他参与者 653

22.2.7 Web服务的基础所忽略的问题 653

22.3 建立Web服务 658

22.4 一个更真实的例子 660

22.5 返回各种数据集 664

22.6 VB.NET和System.Web.Services 667

22.6.1 System.Web.Services命名空间 667

22.6.2 System.Web.Services.Description命名空间 668

22.6.3 System.Web.Services.Discovery命名空间 669

22.6.4 System.Web.Services.Protocols命名空问 669

22.7 利用Web服务进行设计 670

22.7.1 Web服务的作用 670

22.7.5 把DNS用作模型 671

22.7.4 状态的危害 671

22.7.2 Web服务与其他协议和工具的组合 671

22.7.3 Web服务代理 671

22.8 Web服务中的安全性 674

22.8.1 加密套接字层 675

22.8.2 目录级安全性 675

22.8.3 安全性的其他类型 675

22.9 分布式体系结构的缺点 676

22.9.1 安全性方面的缺点 676

22.9.2 状态方面的缺点 676

22.9.3 事务处理方面的缺点 676

22.9.4 速度和连接性方面的缺点 676

22.10 Web服务的发展前景 676

22.11 小结 677

23.1 下载Internet资源 678

第23章 VB.NET和Internet 678

23.2 套接字 681

23.2.1 建立应用程序 682

23.2.2 创建Conversation窗口 684

23.2.3 发送消息 693

23.2.4 关闭应用程序 698

23.3 在应用程序中使用Internet Explorer 702

23.4 小结 710

第24章 .NET Framework中的安全性 711

24.1 安全性的概念与定义 712

24.2 System.Security.Permissions命名空间中的权限 713

24.2.1 代码访问权限 715

24.2.2 基于角色的权限 715

24.2.3 身份权限 717

24.3 管理代码访问权限 718

24.4 管理安全性策略 723

24.5 加密基础 732

24.6 小结 753

第25章 程序集和部署 754

25.1 程序集 754

25.2 清单 755

25.2.1 标识部分 756

25.2.2 引用的程序集 757

25.3 程序集和部署 758

25.3.1 应用程序私有的程序集 758

25.3.2 共享程序集 759

25.4 版本化问题 761

25.4.1 应用程序隔离 762

25.4.2 并行执行 762

25.4.3 自描述 762

25.4.4 版本策略 762

25.4.5 配置文件 763

25.5 应用程序部署 767

25.5.1 DLLHell 767

25.5.2 XCOPY部署 768

25.5.3 .NET以前的部署选项 769

25.6 Visual Studio.NET中的应用程序部署 770

25.7 Visual Studio.NET部署工程 770

25.7.1 工程模板 770

25.7.2 创建一个部署工程 772

25.7.3 创建部署工程的两个范例 772

25.8 修改部署工程 782

25.8.1 工程属性 783

25.8.2 File System编辑器 786

25.8.3 Registry编辑器 790

25.8.4 FileTypes编辑器 792

25.8.5 User Interface编辑器 793

25.8.6 Custom Actions编辑器 795

25.8.7 Launch Conditions编辑器 797

25.9 构建 800

25.10 小结 800

附录A 使用Visual Basic兼容库 801

A.1 什么是兼容库 801

A.1.1 转换工具何时使用库 801

A.1.2 何时在工程中使用库 802

A.1.3 引用兼容库 802

A.2 兼容库的范例 803

A.3 兼容库引用列表 806

A.3.1 语法声明的改变 807

A.3.2 元素替换为方法 807

A.3.3 数据类型的改变 808

A.3.4 布尔运算符的改变 808

A.3.5 类和接口的改变 808