第一部分 使用Visual Studio 6.0开发应用程序 3
第1章 Visual Studio内部结构 3
1.1 企业应用程序体系结构 3
1.2 什么是Visual Studio 5
1.2.1 Visual Studio的目标 6
1.2.2 名称的意义 7
1.2.3 Visual Studio专业版 8
1.2.4 Visual Studio企业版 9
1.2.5 许可证 10
1.2.6 系统需求 10
1.3 Visual Studio在软件开发中的任务 13
1.4 Visual Studio的适用对象 14
1.4.1 作为开发经理 14
1.4.2 作为应用程序设计者 15
1.4.3 作为组件建立人员 15
1.4.4 作为解决方案开发人员 16
1.5 小结 16
第2章 使用Visual Studio创建应用程序 18
2.1 寻找完美的IDE 18
2.2 安装Visual Studio 19
2.2.1 安装Visual Studio 20
2.2.2 应用服务修补程序 28
2.3 使用Developer Studio 29
2.4 使用Visual Basic的开发环境 32
2.5 使用Visual InterDev和Visual J++的Microsoft Development Environment 36
2.6 获得帮助 41
2.7 小结 42
第3章 使用Visual Studio调试企业应用程序 43
3.1 Visual Studio中调试的基础知识 43
3.2 在Visual Studio中调试ActiveX DLL 48
3.2.1 Visual Basic中的ActiveX DLL 48
3.2.2 Visual C++中的ActiveX DLL 50
3.2.3 Visual J++中的ActiveX DLL 51
3.3在Visual Studio中调试ActiveX EXE 53
3.3.1 Visual Basic中的ActiveX EXE 54
3.3.2 Visual C++中的ActiveX EXE 55
3.4 在Visual Studio中调试基于Web的脚本 56
3.5 在Visual Studio调试Database Applications 57
3.5.1 Visual Basic中的SQL/存储过程 58
3.5.2 Visual C++中的SQL/存储过程 60
3.5.3 Visual InterDev/ Visual J++中的SQL/存储过程 61
3.6 小结 62
第4章 使用Visual Studio创建支持数据库的应用程序 63
4.1 数据库设计问题 63
4.1.1 数据库设计的必要性 64
4.1.2 Visual Studio数据库设计工具 66
4.2 使用Visual Studio 6.0的数据模型构造功能 67
4.2.1 使用Data View浏览数据库 67
4.2.2 用Database Designer创建图 70
4.2.3 用Database Designer创建表的关系 73
4.2.4 用Database Designer定位数据库对象和图 75
4.3 用Visual Studio 6.0开发存储过程 76
4.3.1 安装T-SQL调试器 77
4.3.2 使用T-SQL调试器 77
4.3.3 创建和编辑SQL Server存储过程 81
4.3.4 服务器端逻辑的SQL存储过程 83
4.3.5 使用Query Designer 84
4.4 分布式计算 85
4.4.1 客户/服务器计算 86
4.4.2 客户/服务器设计 87
4.4.3 Visual Studio中的分布式CS技术 88
4.4.4 分布式数据访问 89
4.5 小结 89
第5章 Microsoft Transaction Server内幕 91
5.1 分布式处理的目标 92
5.2 使用多层体系结构 93
5.3 理解事务的重要性 96
5.3.1 SQL中的事务完整性 97
5.3.2 两段提交 99
5.3.3 MTS中的数据库访问 101
5.3.4 DTC在事务处理中的任务 103
5.3.5 基于组件的事务 104
5.4 使用MTS组件集成服务 105
5.4.1 进程和线程管理 105
5.4.2 即时对象激活 106
5.4.3 数据库连接共用 108
5.4.4 Shared Property Manager(共享属性管理器) 109
5.4.5 分布式安全服务 110
5.4.6 Microsoft Transaction Explorer 111
5.4.8 组件软件包 112
5.4.7 在MTS中使用现有组件 112
5.5 安装MTS 113
5.5.1 MTS的安装位置 113
5.5.2 系统需求 113
5.5.3 从Visual Studio光盘上安装 114
5.5.4 连接客户到MTS上 116
5.6 小结 116
第6章 Active Server Pages和Internet Information Server内幕 117
6.1 Active Server Pages和Internet Information Server 4的新增功能 117
6.1.1 Internet Information Server 4的新特性 118
6.1.2 Active Server Pages的新特性 121
6.2 使用Active Platform建立Web应用程序 122
6.2.1 ActiveX技术 123
6.2.2 Active Desktop 124
6.2.3 Active Server Pages 126
6.3 Active Server脚本编程 127
6.3.1 分界符 128
6.3.2 语句 128
6.3.3 脚本标记 129
6.3.4 过程 129
6.4 ActiveX Server对象 130
6.4.1 Application对象 131
6.4.2 Session对象 132
6.4.3 Request对象 133
6.4.4 Respones对象 140
6.4.5 Server对象 141
6.5 小结 142
第7章 Microsoft Message Queue内幕 143
7.1 揭示对Message Queue的需要 143
7.1.1 概述面向消息的中间件 144
7.1.2 优化企业资源 145
7.1.3 对应用程序发展的支持 146
7.1.4 促进断开计算 146
7.2.1 MSMQ接口 147
7.2.2 竞争和伙伴产品 149
7.3.1 消息队列的类型 150
7.3 检验消息队列和消息类型 150
7.3.2 消息安全 151
7.3.3 消息属性 151
7.3.4 发送和接收消息 152
7.4 安装MSMQ 153
7.4.1 软件许可证 154
7.4.2 文档 154
7.4.3 MSMQ拓扑结构 155
7.4.4 服务器安装 156
7.4.5 客户安装 156
7.4.6 测试MSMQ安装 157
7.5 管理MSMQ 159
7.6 小结 160
第8章 Microsoft SQL Server内幕 161
8.1 理解RDBMS的任务 161
8.2 查看Microsoft SQL Server 162
8.3 支持分布式事务 163
8.3.1 简单的事务方案 163
8.3.2 事务处理中DTC的任务 165
8.3.3 用SQL Enterprise Manager管理DTC 166
8.4 Web技术集成探索 169
8.4.1 用SQL Web Assistant和sp_maketadk进行Web集成 170
8.4.2 用External Data Access Libraries进行SQL Server Web集成 179
8.5.1 仓库中SQL Server的任务 180
8.5 使用SQL Server和Data Warehousing 180
8.5.2 T-SQL扩展:CUBE和ROLLUP 184
8.6 小结 186
第二部分 创建COM组件 189
第9章 使用Microsoft的对象技术 189
9.1 对象技术基础 190
9.1.1 开发面向对象软件的好处 190
9.1.2 简单回顾面向对象编程的术语和表示法 192
9.2 面向对象与面向过程编程方法的比较 199
9.3 OO软件开发高级论题 199
9.3.1 封装 199
9.3.3 继承 200
9.3.2 多态性 200
9.4 Microsoft对象技术的渐进发展 201
9.4.1 Microsoft Windows 201
9.4.2 OLE 1 202
9.4.3 VBX组件 202
9.4.4 COM和OLE 2 203
9.4.5 OCX组件 203
9.4.6 正在扩充的OLE世界 204
9.4.7 Microsoft拥抱Internet:OCX变成ActiveX 205
9.4.8 Active Platform 205
9.4.10 远程对象:ORBs和DCOM 206
9.4.9 更多的新名词:Windows DNA和COM+ 206
9.4.11 即将出现的对象:COM+ 207
9.5 对象技术现状 208
9.5.1 COM/DCOM与其他对象技术的兼容性 209
9.5.2 比较COM与CORBA:标准化、孤立、集成或者同化 209
9.5.3 基于Java技术的特别说明 211
9.5.4 Windows之外的COM 213
9.5.5 下面该读什么 213
9.6 COM体系结构基础 213
9.6.1 接口 213
9.6.3 组件的注册 215
9.6.2 全球唯一标识符 215
9.6.4 二进制兼容性和版本控制 216
9.7 创建COM对象 217
9.7.1 COM库服务 217
9.7.2 类工厂 217
9.7.3 标记 218
9.8 COM对象的生存位置 218
9.9 COM对象的相互通信 218
9.9.1 引用计数 219
9.9.2 跨越进程和网络边界的COM对象 219
9.10 COM对象数据 220
9.11.1 与旧式系统的互操作 222
9.11 旧式应用程序使用对象技术的策略 222
9.11.2 旧代码的对象包装 223
9.11.3 用对象重新设计以创建多层的分布式的应用程序 224
9.11.4 用于旧数据的基于浏览器的接口 225
9.12 新应用程序实现对象技术的策略 227
9.13 小结 229
第10章 创建可重用的组件 230
10.1 查看重用的种类 230
10.1.1 软件组件 231
10.1.2 接口 232
10.1.3 继承和聚合 233
10.1.4 框架 235
10.1.5 应用程序 236
10.1.6 设计 237
10.1.7 模式 237
10.2 重用设计 238
10.2.1 设计重用的组件 238
10.2.2 使设计保持尽可能的简单 238
10.2.3 建立满足特定目的的组件 238
10.2.4 使设计保持尽可能的一般 239
10.2.5 建立尽可能灵活的组件 239
10.2.6 保持向后兼容性 239
10.3 使用工具组 240
10.2.10 故障准备 240
10.2.8 监视总开销 240
10.2.9 牢记成本 240
10.2.7 分析应用程序 240
10.3.1 Microsoft Repository 241
10.3.2 Microsoft Visual Component Manager 241
10.3.3 Visual Modeler 243
10.3.4 Visual SourceSafe 243
10.3.5 Microsoft Transaction Server 244
10.3.6 组件分布工具概括 245
10.4 理解技术中心的任务 246
10.4.1 技术中心的目标和对象 246
10.4.2 组织技术中心资源 248
10.5 小结 250
第11章 使用COM组件和Active X控件 251
11.1 COM组件和Active X控件 251
11.2 在Web站点中使用ActiveX控件 252
11.3 理解在I-net环境中使用Active X组件的技术 253
11.3.1 ActiveX组件和Visual InterDev 254
11.3.2. ActiveX组件和FrontPage(Visual InterDev Edition) 255
11.3.3 在Internet Explorer中使用ActiveX组件 256
11.4 理解客户/服务器应用中使用组件的技术 259
11.4.1 客户/服务器环境中的组件类型 259
11.4.2 组件的安装和注册 262
11.4.3 组件和Remote Automation 263
11.5 在Visual Basic中使用组件 267
11.5.1 ActiveX控件 267
11.5.2 ActiveX代码组件 271
11.6 在Visual C++中使用组件 273
11.6.1 创建支持ActiveX的Microsoft Foundation Class Application 274
11.6.2 ActiveX控件 275
11.6.3 ActiveX代码组件 282
11.7 在Visual J++中使用ActiveX控件 288
11.7.1 加载控件 289
11.7.2 访问属性和方法 290
11.7.3 处理事件 291
11.8 小结 292
第12章 用Visual Basic创建ActiveX控件 293
12.1 ActiveX控件介绍 293
12.2 建立图形ActiveX控件:徽标控件 295
12.2.1 创建公司徽标控件 296
12.2.2 在ActiveX控件中加入合成控件 299
12.2.3 测试徽标控件 300
12.3 创建聚合控件:带框架的文本框 302
12.3.1 创建更复杂的聚合控件 303
12.3.2 使用ActiveX控件接口向导为控件创建属性 305
12.3.3 手工创建属性和事件以完成控件 310
12.4 创建更复杂的聚合控件——TimeSheet控件 312
12.4.1 创建TimeSheet控件 313
12.4.2 用合成控件来增强TimeSheet控件的功能 314
12.4.3 UserControl和相关事件的生存期 317
12.4.4 私有方法和公共方法 318
12.4.5 向TimeSheet控件中添加其他合成控件 320
12.4.6 认真考虑公布的属性,使控件完整而有用 321
12.4.7 使用ActiveX Control Interface Wizard的Set Attributes对话框 323
12.4.8 使用AmbientProperties对象 325
12.4.9 创建属性页 327
12.5 创建用户自绘控件 331
12.6 小结 335
第13章 用Visual C++创建ActiveX控件 336
13.1 创建简单控件:SkunkWork徽标 336
13.1.1 利用MFC ActiveX向导创建ActiveX控件 337
13.1.2 加入SkunkWork徽标位图 340
13.1.3 为调整大小编写代码 340
13.1.4 单击徽标时启动事件 342
13.1.5 测试SkunkWork徽标ActiveX控件 343
13.1.6 调试ActiveX控件 344
13.2 研究按钮控件 344
13.2.1 为Button控件加入常备属性 345
13.2.2 构造属性页 347
13.2.3 实现Button控件的常备属性 348
13.2.4 实现Button控件的行为 350
13.2.5 当按下按钮时、启动Click事件 351
13.2.6 测试按钮控件 353
13.3 编写聚合控件:SkunkWork TimeSheet控件 353
13.3.1 建立SkunkWork TimeSheet控件 354
13.3.2 设置Timesheet控件的标题 356
13.3.3 编辑Timesheet控件中的单元格 359
13.3.4 测试SkunkWork TimeSheet控件 361
13.4 小结 362
14.1 管理MTS中的事务 363
第14章 为MTS创建COM组件 363
14.1.1 使用对象上下文 364
14.1.2 使用事务上下文 366
14.2 了解MTS组件集成服务 368
14.2.1 进程和线程管理 368
14.2.2 对象合并和即时对象激活 370
14.2.3 共享属性管理器 372
14.2.4 分布式安全服务 374
14.2.5 MTS Explorer 375
14.3 用MTS使用现存的组件 375
14.4 在I-net应用程序中使用MTS 376
14.4.1 使用Active Server Pages 377
14.4.2 使用浏览器端的ActiveX组件 378
14.4.3 使用Remote Data Services 378
14.4.4 通过DCOM和HTTP访问MTS组件 379
14.5 小结 380
第三部分 开发Internet、内部网和外部网应用程序 383
第15章 客户、服务器和组件:基于Web的应用程序 383
15.1 计算世界中的I-net 383
15.2 客户还是服务器 384
15.2.1 性能 384
15.2.2 安全性 384
15.2.3 升级能力 384
15.2.4 用户首选项 385
15.3 应用程序开发过程的发展 386
15.4 I-net 体系结构 390
15.5 作为客户框架的Web浏览器 393
15.5.1 发展中的应用程序体系结构 393
15.5.2 开发人员面临的新挑战 394
15.5.3 静态和动态HTML:旧方法和新方法 395
15.6 服务器:基于服务器的功能 397
15.6.1 万维网服务器 398
15.6.2 数据库服务器 399
15.6.3 通信服务器 399
15.6.5 多媒体服务服务器 400
15.6.4 搜索服务器 400
15.6.6 代理服务器 401
15.7 动态的基于Web的应用程序组件 401
15.7.1 ActiveX 401
15.7.2 Java小应用程序 403
15.7.3 VBScript 404
15.7.4 JScript 405
15.7.5 其他基于服务器的组件:CGI和ISAPI 406
15.8 小结 407
第16章 用Visual Basic创建Web基于浏览器的应用程序 408
16.1 了解ActiveX文档 408
16.1.1 什么是ActiveX文档 409
16.1.2 ActiveX文档拓扑 410
16.1.3 选择项目类型 410
16.1.4 设置项目文件 412
16.2 建立ActiveX文档 413
16.2.1 设计、开发和实现要点 413
16.2.2 创建应用程序 414
16.2.3 测试Grape Vine 425
16.2.4 使用菜单 426
16.3 安装和配置注意事项 427
16.3.2 了解浏览器初始化安装 428
16.3.3 Package and Deployment Wizard步骤 428
16.3.1 使用Internet软件包 428
16.3.4 测试安装程序 433
16.4 集成问题 433
16.4.1 平台 434
16.4.2 浏览器 435
16.4.3 安全性 435
16.4.4 数据访问 436
16.5 小结 437
第17章 服务器端编程 438
17.1 探索战略性服务器使用 438
17.2 技术回顾 440
17.3 理解服务器连接 441
17.3.1 速度 442
17.3.2 安全 442
17.3.3 规模可变能力 442
17.3.4 服务器连接 443
17.4 使用服务器端脚本编程 443
17.4.1 脚本语言 444
17.4.2 使用服务器端脚本 448
17.4.3 一个脚本范例 450
17.5 理解ASP 451
17.5.1 使用ASP 452
17.6 使用Internet Server API 453
17.6.1 使用ISAPI 454
17.6.3 ISAPI同其他专有API的对比 456
17.6.2 ISAPI过滤器 456
17.7 使用CGI 457
17.7.1 使用CGI 457
17.7.2 CGI方案 458
17.8 小结 459
第18章 用Visual InterDev开发Active内容 460
18.1 探索Visual InterDev 6 460
18.2 从 Visual InterDev 1迁移到Visual InterDev 6 461
18.2.1 服务器扩展和IIS 4 461
18.2.4 设计期间控件的差异 462
18.2.2 IIS 4 462
18.2.3 数据库连接 462
18.3 Visual InterDev集成开发环境 463
18.3.1 使用项目 464
18.3.2 项目向导 465
18.4 向项目添加内容 471
18.4.1 新建文件和文件夹 471
18.4.2 把已有的文件或文件夹添加到项目中去 472
18.4.3 使用拖放 473
18.5 使用服务器端ActiveX组件 473
18.5.2 使用DCOM的分布组件 474
18.5.1 在Visual InterDev中使用ActiveX服务器组件 474
18.5.3 Visual InterDev包含的ActiveX服务器组件 475
18.6 使用客户端组件 479
18.6.1 HTML或ASP页面中的ActiveX控件 481
18.6.2 Java小应用程序 484
18.7 小结 484
第19章 Visual InterDev高级概念 486
19.1 最大化Visual InterDev 486
19.2 理解Global.asa文件 487
19.3 使用脚本编程对象模型 489
19.4 数据环境 492
19.5 使用可视化数据库开发工具 497
19.5.1 使用ODBC数据源 498
19.5.2 数据视图 499
19.5.3 Database Designer 501
19.5.4 Query/View Designer 501
19.5.5 探索站点设计器 502
19.6 管理Visual InterDev项目 503
19.6.1 小组开发 503
19.6.2 升级和发布Web站点 504
19.6.3 链接视图 505
19.7 小结 506
第20章 Visual InterDev设计期间控件 508
20.1.2 实现数据连接 509
20.1 建立数据连接 509
20.1.1 系统和文件DSN 509
20.2 使用数据命令控件 513
20.3 使用记录集控件 517
20.4 使用数据绑定的设计期间控件 519
20.4.1 使用标签控件 520
20.4.2 使用文本框控件 521
20.4.3 使用列表框控件 522
20.4.4 使用选项组控件 522
20.4.5 使用复选框控件 523
20.4.6 使用按钮控件 523
20.4.7 使用记录集导航控件 524
20.4.8 使用网格控件 525
20.4.9 使用窗体管理器控件 527
20.5 使用页面对象设计期间控件 530
20.6 使用页面转换设计期间控件 530
20.7 小结 531
第21章 动态HTML 533
21.1 浏览动态HTML特性 533
21.1.1 动态内容 534
21.1.2 动态样式 534
21.1.3 绝对定位 534
21.1.5 数据绑定 535
21.1.4 多媒体效果 535
21.2 了解动态HTML对象模型 536
21.2.1 动态HTML对象模型树 536
21.2.2 元素类和集合 538
21.2.3 事件模型 540
21.3 访问文档内容 543
21.3.1 rangeFromText 544
21.3.2 rangeFromElement 544
21.4 在动态HTML中使用数据绑定 545
21.4.1 新属性 545
21.4.2 数据客户 545
21.4.3 数据事件 546
21.5 研究动态HTML和Visual Basic 547
21.6 研究动态HTML和Visual C++ 547
21.6.1 使用CHtmlView类 547
21.6.2 ATL和DHTML控件 548
21.7 研究动态HTML和Visual J++ 548
21.8 建立样本页面 550
21.8.1 步骤1:启动项目 550
21.8.2 步骤2:加入模板 551
21.8.3 步骤3:加入图形 552
21.8.4 步骤4:加入图形转换 553
21.8.5 步骤5:加入菜单 554
21.8.6 步骤6:加入子菜单 556
21.8.7 步骤7:加入内容层 557
21.8.8 步骤8:加入弹出窗口 560
21.8.9 步骤9:加入数据连接和绑定数据字段 561
21.8.10 步骤10:为数据简报加入排序能力 564
21.9 小结 566
第22章 利用Visual J++创建小应用程序和应用程序 567
22.1 介绍Visual J++ 6 567
22.2 在Visual J++ 6中创建Java小应用程序 568
22.3 加入公共方法和事件处理 575
22.4 使用窗口基础类 580
22.5 利用Visual J++创建应用程序 582
22.6 增强WFC应用程序 591
22.7 小结 594
第23章 用Microsoft事务服务器创建事务Web页面 595
23.1 Microsoft Transaction Server 595
23.1.1 分区的应用程序 596
23.1.2 MTS框架 597
23.1.3 MTS软件包和组件 598
23.1.4 MTS和软件重用 600
23.1.5 MTS和多层应用程序 600
23.2 理解事务性Web页面 601
23.3 在事务性Web页面解决方案中使用MTS 602
23.3.1 使用活动服务器页面 603
23.3.2 使用浏览器端ActiveX组件 609
23.4 小结 615
第24章 基于Web的应用程序的封装和发布 617
24.1 Web页浏览和组件下载 617
24.2 使用Visual BasicPacking and Deployment Wizard 619
24.2.1 创建下载软件包 620
24.2.2 发布下载软件包 628
24.2.3 脚本管理 632
24.2.4 测试下载软件包 633
24.3 使用数字签名 636
24.3.1 为CAB文件签名 637
24.3.2 测试签名的CAB文件 639
24.4 I-net ActiveX控件的许可 641
24.4.1 为ActiveX控件添加I-net许可证 642
24.4.2 测试经过许可的ActiveX控件 644
24.5 小结 645
第四部分 开发规模可变的分布式应用程序 649
第25章 客户、服务器和组件:分布式应用程序的设计策略 649
25.1 分布式应用程序的设计目标 649
25.1.1 性能 650
25.1.3 规模可变能力 651
25.1.4 安全性 651
25.1.2 效率 651
25.1.5 可验证性 652
25.1.6 可靠性 652
25.1.7 可维护性 652
25.2 分布式应用程序的设计约束 653
25.2.1 平台 653
25.2.2 带宽 654
25.2.3 资源竞争 654
25.2.4 可用性 655
25.2.5 使用者 655
25.2.6 旧产品 655
25.3 服务范例 656
25.2.7 行政 656
25.4 客户/服务器实现模型 657
25.4.1 传统(两层)客户/服务器模型 657
25.4.2 三层(n层)模型 658
25.4.3 两层和三层相比:一个例子 659
25.4.4 连接式客户体系结构 661
25.4.5 分布式客户体系结构 661
25.4.6 连接式和断开式比较:一个例子 661
25.5 设计分布式应用程序 664
25.5.1 建立业务对象和它们之间的交互模型 665
25.5.2 定义服务和接口 666
25.5.4 将应用程序分区成组件 667
25.5.3 识别业务对象和服务之间的独立性 667
25.5.5 为应用程序选择一种实现模式 668
25.5.6 组件目标的平台 668
25.6 Application Performance Explorer 670
25.6.1 同步处理 670
25.6.2 异步处理 671
25.6.3 使用应用程序性能资源管理 671
25.7 旧系统集成技术 673
25.7.1 Host Data Replicator 673
25.7.2 AS/400和VSAM的OLE DB提供者 675
25.7.3 CICS和IMS的COM事务集成器 676
25.8 小结 677
第26章 用Visual Basic建立客户前端 678
26.1 在Visual Basic中使用ADO:概述 678
26.1.1 统一数据访问和OLE 678
26.1.2 ActiveX数据对象 679
26.2 用ADO对象模型工作 679
26.2.1 主要的ADO对象 680
26.2.2 其他ADO对象 682
26.2.3 ADO事件 682
26.3 使用Visual Basic/ADO应用程序范例:Project Maintenance 684
26.3.1 设立一个ODBC DSN 684
26.3.2 使用Data Form Wizard 687
26.3.3 使用Data Project 691
26.3.4 使用ADO Data Control 705
26.4 小结 721
第27章 使用Visual Basci开发MTS COM组件 722
27.1 考虑并创建简单的MTS组件 722
27.2 开发事务敏感型组件 725
27.2.1 在设计时设置事务模式 726
27.2.2 添加MTS事务代码 727
27.3 探究基于角色的安全性 731
27.4 在组件之间共享状态 736
27.6 调试MTS组件 740
27.5 理解错误处理 740
27.6.1 在IDE中调试 741
27.6.2 在Visual Studio下调试 742
27.6.3 使用WinDbg调试 743
27.6.4 小结 744
27.7 小结 744
第28章 使用Visual J++创建MTS COM组件 746
28.1 考虑并创建简单的MTS组件 746
28.1.1 创建COM组件 747
28.1.2 实现IObjectCOntrol 749
28.2 开发事务敏感型组件 750
28.2.1 设置设计时的事务模式 750
28.2.2 添加MTS事务代码 752
28.3 寻求基于角色的安全性 754
28.4 在组件之间共享状态 759
28.5 处理错误 763
28.6 小结 763
第29章 使用Visual C++为MTS创建COM组件 765
29.1 建立简单的MTS组件 765
29.1.1 使用ATL来建立MTS组件 767
29.1.2 实现IObjectControl 769
29.2 支持事务 771
29.3 使用基于角色的安全性 772
29.4 在MTS组件之间共享状态 773
29.5 处理错误 775
29.6 调试MTS组件 777
29.6.1 在没有MTS支持的情况下调试 778
29.6.2 使用Visual Studio调试 779
29.6.3 使用WinDbg调试 780
29.7 小结 780
第30章 使用Visual Basic和ADO创建数据访问组件 781
30.1 在VB中使用ADO 781
30.2 使用MTS和无状态数据访问组件 782
30.3 使用MTS和数据库资源 785
30.4 在服务层之间传递数据 787
30.5 理解三层应用程序中的ADO 788
30.6 探究事务 792
30.7 改善性能和规模可变能力的策略 797
30.7.1 异步记录集和事件 797
30.7.2 数据库分区 799
30.7.3 多记录集 799
30.7.4 使用存储过程 800
30.8 理解错误处理和调试 801
30.9 小结 802
第31章 使用Microsoft Transaction Server启用分布式应用程序 803
31.1 管理和开发MTS组件 803
31.1.2 什么是Microsoft Management Console 804
31.1.1 理解多层计算 804
31.2 使用MTS Explorer 805
31.2.1 创建软件包 806
31.2.2 安装组件 809
31.2.3 查看软件包属性 813
31.2.4 定义角色 814
31.2.5 将用户添加到角色中 816
31.2.6 导出软件包 817
31.2.7 将软件包导入到MTS中 818
31.3 设置MTS客户 820
31.3.2 将本地组件注册到基本客户上 821
31.3.1 将中间层组件注册到基本客户上 821
31.4 监视事务统计数据 822
31.5 小结 823
第32章 使用MSMQ和Visual Basic 825
32.1 介绍MSMQ和Visual Basic 825
32.2 使用Visual Basic 6编程MSMQ 826
32.3 安装MSMQ ActiveX控件 827
32.4 处理队列 829
32.4.1 创建队列 829
32.4.2 找到已有的队列 831
32.4.3 打开队列 833
32.4.5 删除队列 834
32.4.4 关闭队列 834
32.5 处理消息 835
32.5.1 发送消息 835
32.5.2 检索消息 838
32.6 MSMQ错误处理 839
32.7 小结 840
第五部分 使用Visual Studio进行协作开发 843
第33章 使用Visual Component Manager和Microsoft Repository 843
33.1 使用Visual Component Manager 843
33.1.1 设置Visual Component Manager 844
33.1.2 浏览Visual Component Manager 846
33.1.3 使用已选择的条目 848
33.1.4 搜索 849
33.2 定制Visual Component Manager 851
33.1.5 Visual Component Manager和Visual Modeler 851
33.2.1 添加组件文件夹 852
33.2.2 添加组件和发行向导 852
33.2.3 编辑条目信息 855
33.2.4 配置关键字 856
33.2.5 本地和远程数据库 857
33.2.6 使用远程数据库上的组件 858
33.2.7 Visual Component Manager策略 858
33.3 考虑Microsoft Repository 861
33.3.1 Microsoft Repository体系结构概述 862
33.3.4 开放的Microsoft储存库的概念 865
33.3.2 版本处理 865
33.3.3 工作空间 865
33.4 理解Microsoft储存库基础 866
33.4.1 重新检查开发过程 866
33.4.2 组装Microsoft Repository组件 867
33.4.3 基于Microsoft储存库的工具和Tool Information Models 867
33.4.4 配置Microsoft Repository Database 871
33.4.5 Microsoft RepositoryMigration向导 871
33.4.6 Microsoft Repository组成员 874
33.5 小结 874
34.1 介绍Visual Studio Analyzer 876
第34章 使用Visual Studio Analyzer 876
34.1.1 Visual Studio Analyzer体系结构 877
34.1.2 什么时候使用Visual Studio Analyzer 878
34.2 使用事件、过滤器和视图 879
34.2.1 事件收集 879
34.2.2 Visual Studio Analyzer过滤 880
34.2.3 Visual Studio Analyzer视图 881
34.3 设置Visual Studio Analyzer 884
34.3.1 Visual Studio Analyzer平台要求 885
34.4 使用Visual Studio Analyzer 885
34.4.1 创建Visual Studio Analyzer项目 886
34.5 将Visual Studio Analyzer Events添加到组件中 888
34.5.1 添加事件的触发代码段到代码中 890
34.6 小结 891
第35章 使用Visual SourceSafe 892
35.1 Visual SourceSafe介绍 892
35.1.1 为什么使用Visual SourceSafe 893
35.1.2 Visual SourceSafe网络 894
35.2 管理Visual SourceSafe 894
35.2.1 设置和安装Visual SourceSafe 894
35.2.2 运行Visual SourceSafe Administrator 895
35.2.3 维护用户列表 896
35.2.4 为项目安全而设置权力 899
35.2.5 管理SourceSafe数据库 903
35.3 使用SourceSafe管理代码 905
35.3.1 使用Visual SourceSafe Explorer 905
35.3.2 在Visual SourceSafe项目中组织文件 906
35.3.3 Visual SourceSafe中的基本操作 909
35.3.4 项目间共享代码 911
35.3.5 Visual SourceSafe中的版本跟踪 914
35.4 使用SourceSafe管理Web内容 917
35.4.1 将Web站点组织到项目树中 917
35.4.2 指定Web项目 918
35.4.3 检查超级链接完整性 919
35.4.5 测试和发布Web内容 921
35.4.4 创建站点图 921
35.5 小结 922
第36章 系统建模和Microsoft Visual Modeler 923
36.1 理解Microsoft Visual Modeler 923
36.2 在项目中使用Visual Modeler 925
36.3 创建对象模型 927
36.3.1 创建类 927
36.3.2 创建接口类 928
36.3.3 创建关系 929
36.3.4 创建属性和方法 931
36.3.6 创建组件和组件图表 933
36.3.5 创建软件包 933
36.3.7 将类映射到组件 934
36.3.8 创建配置图表 935
36.4 使用Visual Modeler评定对象模型 935
36.4.1 建立图表,是注意力集中在主题方面 935
36.4.2 分析属性或方法 937
36.4.3 浏览模型图表 937
36.4.4 在体系结构内移动类 938
36.5 用Microsoft Visual SourceSafe控制对象模型 938
36.6 从模型中产生代码 940
36.7 调整代码和对象模型 943
36.8 小结 946
第六部分 附录 949
附录A 样例应用程序套件 949
A.1 概述样例应用程序套件 949
A.2 样例公司特点 949
A.2.1 行动者/角色 949
A.2.2 业务规则 950
A.3 体系结构概述 951
A.3.1 客户 951
A.3.2 中间层组件 953
A.3.3 数据库 955
A.4 小结 955