目 录 第1 章 VB 2 0 0 8核心元素.......................... 1 1 . I 原来的关键字和语法................... 2 1 . 2 值类型和引用类型........................7 1 . 3 命令:条件语句.........................10 1.3.1 IfT h e n ...................................... 10 1 . 3 . 2 比较运算符..............................10 1.3.3 Sclcct Case................................12 1 . 4 值类型(结构) .....................................13 1 . 4 . 1布尔类型..................................13 1 . 4 . 2整数类型..................................13 1 . 4 . 3无符号类型..............................15 1 . 4 . 4小数类型..................................15 1.4.5 Char 和 Byte............................ 17 1.4.6 DateTimc..................................17 1 . 5 引用类型(类) .....................................18 1.5.1 Object 类...................................18 1.5.2 String 类...................................19 1.5.3 DBNul 丨类和 IsDBNullO 函数.......................22 1.5.4 Nullable 类型........................... 22 1.5.5 数组...........................................23 1.5.6 集合...........................................26 1 . 6 命令:循环语句............................. 27 1.6.1 For Each 和 For N e x t............. 28 1.6.2 While、Do While 和 Do U n til....................................29 1 . 7 装筘.......................................................30 1.8 参数传递............................................ 31 1 . 9 变量的作用域.................................. 32 1 . 1 0 数据类型的转换...........................33 1 .1 0 .1隐式转换和编译器选项••…34 1.10.2 XM L 字面量........................ 36 1 .1 0 .3执行显式转换.....................38 1.11 小结..................................................... 41 第2 章对象语法综述.............................42 2 . 1 面问对象的术语.............................. 43 2 . 1 . 1 对象、类和实例......................43 2 . 1 . 2 对象的组成...............................43 2.2 使用对象..............................................46 2 . 2 . 1 对象的声明和实例化.............46 2 . 2 . 2 对象引用................................... 47 2 . 2 . 3 取消对象的引用......................48 2 . 2 . 4 前期及后期绑定......................48 2.3 创建类...................................................52 2 . 3 . 1 创建基类...................................52 2 . 3 . 2 构造函数方法.......................... 68 2 . 3 . 3 终止和淸除.............................. 69 2 . 4 高级概念..............................................70 2 . 4 . 1 重载方法...................................70 2 . 4 . 2 重载构造函数方法..................73 2 . 4 . 3 共亨方法、变量和事件………74 2 . 4 . 4 运算符垔载...............................79 2.4.5 委托............................................81 2 . 4 . 6 类和组件...................................85 2.5 小结........................................................86 第3 章面向对象编程.............................87 3.1 继承........................................................ 87 3.2 多接口................................................ 129 3.2.1 对象接口................................129 3.2.2 辅助接 U ................................130 3.3 抽象性................................................ 136 3 . 4 封装性................................................ 139 3.5 多态性................................................ 141 3 . 5 . 1 方法签名................................141 3 . 5 . 2 实现多态性........................... 142 3.6 继承..................................................... 151 Visual Basic 2008高级编程(第5 版) 3 .6 .1使用继承的场合................151 3 .6 .2继承和多接口................... 153 3 .6 .3多级继承...........................158 3.6.4 “ 脆弱”的基类问题........ 159 3.7 小结............................................ 162 第4 章公共语言运行库......................163 4.1 .NET应用程序的组成元素163 4.1.1 模块........................................ 164 4 .1 .2程序集...............................165 4.1.3 类型.................................. 165 4 . 2 版本化与部署...........................166 4 .2 .1对版木化史好的支持........ 166 4 .2 .2更好的部署....................... 167 4 . 3 跨语言集成............................... 167 4 .3 .1通用类型系统................... 168 4 .3 .2元数据...............................169 4 .3 .3对元数据更好的支持........ 169 4.3.4 纖.................................. 170 4.3.5 Reflection A P I.......................172 4.4 丨L Disassembler.........................173 4.5 内存管理................................... 173 4 .5 .1传统的垃圾问收机制........ 174 4 .5 .2史快地为对象分配内存……181 4 .5 .3垃圾问收器的优化............ 181 4.6 小结............................................ 183 第5 章本地化........................................184 5 . 1 文化和区域............................... 184 5 .1 .1理解文化类型................... 185 5.1.2 线程.................................. 185 5 . 2 在ASP.NET中声明 全局文化.................................... 188 5 . 3 在ASP.NET中使用 文化设S .................................... 189 5 . 4 转换数值和操作.......................190 5 .4 .1理解H期之间的区别........ 190 5 .4 .2理解数字和货币的区别……191 5 .4 .3理解排序宁符串的区别……194 5 . 5 使用ASP.NET资源文件.........196 5 . 5 . 1 使用木地资源.......................196 5 . 5 . 2 使用全局资源....................... 202 5 .6 W in d o w s窗体中的 资源文件..........................................203 5.7 小结..................................................... 207 第6 章泛型........................................... 208 6 . 1 泛型的使用...................................... 208 6 . 1 . 1 泛型类型................................209 6 . 1 . 2 泛型方法................................214 6 . 2 创建泛型........................................... 215 6 . 2 . 1 泛艰类型................................215 6 . 2 . 2 泛型方法................................223 6.2.3 约束........................................ 223 6 . 2 . 4 泛型和后期绑定...................227 6.3 小结..................................................... 227 第7 章名称空间...................................228 7 . 1 名称空间的概念............................ 228 7 . 1 . 1 名称空间与引用...................231 7 . 1 . 2 常用的名称空间...................233 7 . 2 导入名称空间并指定别名…•…235 7 . 2 . 1 导入名称空间....................... 235 7 . 2 . 2 为名称空间指定别名..........236 7 . 2 . 3 在ASP.NET屮引用 名称空间................................237 7 . 3 创建自己的名称空间..................237 7.4 M y 关键字....................................... 240 7.4.1 My.Application 名称空间....241 7.4.2 My.Computer 名称空间.......244 7.4.3 My.Forms 名称空间............. 247 7.4.4 My.Resources 名称空间……247 7.4.5 My.User 名称空间............... 248 7.4.6 My.WcbServices 名祢空间................................248 7 . 5 扩展M y 名称空间.......................248 7.6 小结..................................................... 250 第8 章异常处理和调试...................... 251 8.1 V B 6 中的错误处理.................... 251 目 录 8.2 8.3 8.4 8.5 8.6 8.7 第9 章 9.1 9.2 9.3 .N E T 中的异常处理.................... 252 8 . 2 . 1 异常的重要属性和方法……252 8.2.2 异常与VB 6 中Err 对象的区别........................... 253 结构化兄常处理的关键字•……254 8.3.1 T ry、Catch 和 Finally 关键字....................................254 8.3.2 Throw 关键字.......................256 8 . 3 . 3 抛出新的异常.......................257 8.3.4 Exit Try 语句......................... 258 8 . 3 . 5 嵌弈的T r y结构...................259 8 . 3 . 6 异常属性的使用...................260 8.3.7 Message W性........................ 261 8.3.8 InnerException 和 TargetSite 厲性......................261 与V B 6 样式的错误处理 交互操作........................................... 265 错误记录..........................................266 8.5.1 雜口志................................266 8 . 5 . 2 事件、方法和属性.............. 267 8 . 5 . 3 写入追踪文件.......................269 使用T ra c e类分析问题和 测试性能..........................................270 小结....................................................273 用ADO.NET 3 .5访问数据…274 A D O .N E T的体系结构..............275 A D O .N E T的基木功能..............275 9.2.1 ADO .N E T的常见任务275 9.2.2 A D 0 .N E T的基本名称 空间和类................................278 9.2.3 ADO.NET 组件....................279 .N E T数据提供程序.....................281 9.3.1 Connection 对象.................. 281 9.3.2 Command 对象.....................281 9 . 3 . 3 通过Command对象使用 存储过程................................282 9.3.4 DataRcadcr 对象...................286 9 . 3 . 5 命令的异步执行...................287 9.3.6 DataAdapter 对象..................290 9.3.7 SQL Server .NET 数据 提供程序................................294 9.3.8 OLE DB .NET 数据 提供程序................................294 9.4 DataSet 组件..............................294 9.4.1 DataTableCollection 对象•…295 9.4.2 DataRelationCollection 賴........................................ 295 9.4.3 ExtendedProperties 属性......295 9 . 4 . 4 创建和使用DataSet对象•…296 9.4.5 ADO.NET 的 DataTable 对象........................................ 298 9.4.6 ADO.NET M DataSet 和 DataTable 的改进............ 299 9 . 5 使用通用提供程序模型...........301 9.6 A D 0 .N E T中的连接池............303 9 . 7 创建数据访问组件................... 304 9 . 7 . 1 构造函数................................305 9.7.2 縱........................................ 306 9 . 7 . 3 存储过程使用的XM L 结构........................................ 307 9.7.4 方法........................................ 307 9 . 7 . 5 使用DataSet对象绑定 DataGrid.................................319 9.8 小结..................................................... 322 第1 0章在VB 2 0 0 8中使用XML •…323 10.1 XM L 简介................................ 324 10.2 XM L 串行化............................325 10.3 System.Xml 文档支持............331 10.4 X M L 流样式分析程序.............332 10.4.1 写入 XM L 流...................333 10.4.2 读取 XM L 流...................336 10.4.3 使用 Memory Stream 对象................................... 346 1 0 .4 .4文杓对象模型(DOM) ••…349 10.5 XSLT 转换............................... 356 IX Visual Basic 2 00 8高级编程(第5 版) 1 0 .5 .1使用X S L T转换不同的 XM L 标准......................... 360 10.5.2 System.Xml.Xsl 中 定义的其他类和接口••…362 10.6 ADO.NET................................ 363 10.6.1 ADO.NET 和 SQL Server 2 0 0 0内置的X M L功能• 364 10.6.2 XM L 与 SQL Server 2005...................................367 10.6.3 XM L 和 SQL Server 2008................................... 367 10.7 ASP.NET3.5 中的 X M L ........367 10.7.1 XmlDataSourcc 服务器控件......................368 10.7.2 XmlDataSource 控件的 名称空间问题................. 372 10.7.3 Xm丨服务器控件............. 372 10.8 小结..................................................374 第 11 章 L IN Q ........................................375 11.1 L INQ toSQ L 和 Visual Studio 2008.................. 376 11.1.1 用 LINQ to SQL 调用 Products表:创建控制台 应用程序.......................... 376 11.1.2 添加 L IN Q toSQ L 类377 11.1.3 O/R 设计器.......................378 11.1.4 创建 Product 对象...........379 1 1 . 2 对象到L IN Q对象的映射••…381 11.2.1 DataContcxt 对象............382 11.2.2 Tablc(TEntity)对象..........385 1 1 . 3 在没有O /R设计器的 情况F工作.............................385 1 1 .3 .1创建定制对象................. 385 1 1 .3 .2用定制对象和 LINQ 忾洵........................386 1 1 .3 .3用杏洵限制所调用的列• 387 1 1 .3 .4使用列名.......................... 388 11.3.5 创建 D 己的 DataContext 对象................................... 388 11. 4 定制对象和0 / R 设计器.........389 1 1 . 5 查询数据库.............................. 391 1 1 .5 .1使用查询表达式............391 1 1 .5 .2杳询表达式洋述.............. 392 1 1 .5 .3用表达式过滤..................392 11.5.4 联合..............................393 1 1 .5 .5数据项的组合..................394 1 1 . 6 存储过程.................................. 396 11.7 L IN Q to X M L ..........................396 11.8 LINQ to XM L 和.NET 3.5……397 1 1 .8 .1创建X M L文朽的 新对象..........................397 11.8.2 Visual Basic 2008 冒险 走上了另一条道路.........397 1 1 .8 .3名称空间和前缀.............. 397 11.9 .NET Framework 3.5 中 的新X M L对象..................... 397 11.9.丨 XDocumem 对象............. 398 11.9.2 XElement 对象................ 398 11.9.3 XNamespace 对象...........399 11.9.4 XComment 对象.............. 401 11.9.5 XAttribute 对象............... 402 11.10 Visual Basic 2008 和 X M L字面量..........................402 1 1 .1 1使用L IN Q查询 XM L 文档..............................404 1 1 .1 1 .1杏询静态的 XM L 文裆.....................405 11.11.2 S 洵动态的 XM L 文档.....................406 1 1 .1 2 处理X M L文档.................... 407 11.12.1 读取 XM L 文捫........... 407 11.12.2 写入 XML 文杓........... 409 11.13 使用 L INQ toSQ L 和 LINQ to X M L ........................410 11.13.1 建立 LINQ to SQL 组件................................410 X 目 录 1 1 . 1 3 . 2赍询数据库并输出 X M L ............................. 411 11.14 小结................................................ 412 第 12 章.NET Framework 中 的安全性................................ 413 1 2 . 1 安全的概念与定义................. 414 12.2 System. Security. Permissions 名称空间中的权限................ 415 1 2 .2 .1代码访问权限................. 417 1 2 .2 .2基于角色的权限............. 418 1 2 .2 .3身份权限.......................... 420 1 2 . 3 管理代码访问权限................. 420 1 2 . 4 管理安全策略.........................425 1 2 .4 .1确定应用程序的 域小权限.......................... 434 12.4.2 使用 Visual Studio 判断 鉍小权限集合................. 436 1 2 .4 .3安全性丄具......................438 12.4.4 使用 SecurityException 类处理异常......................439 12.5 加密基础................................. 440 12.6 小结..................................................460 第 13 章 Visual Studio 2 0 0 8 .............. 461 13.1 V isu a l S tu d io 2008 从 Express 到 Team Suite 的各种版本.............................462 1 3 .1 .1从项R模板上创建项目-4 6 4 13.1.2 Solution Explorer 窗 P •…468 13.1.3 My Project 视图.............. 469 13.1.4 Assembly Information 屏幕..............................469 1 3 .1 .5编译设常.......................... 470 13.1.6 凋试屈性.................... 472 13.1.7 引用..............................474 1 3 .1 .8资源........................... .……475 13.1.9 设置...................................476 13.2 Visual Studio 屮的 ProVB VS 项 H ..................... 479 13.2.1在代码屮设置窗体属性*482 13.2.2 Visual Studio 2008 的 W他组件...................... 490 1 3 . 3 增强范例应用程序的功能••…490 1 3 .3 .1定制代码.......................... 492 1 3 .3 .2构建应用程序..................496 13.4 Visual Studio 2008 中的 特色功能................................. 501 1 3 .4 .1构建配置.......................... 501 1 3 .4 .2任务列表.......................... 504 13.4.3 Command 窗口.................504 13.4.4 Server Explorer................ 504 13.4.5 Visual Studio 2008 屮记录和使用宏.............. 505 13.4.6 类阁...................................507 13.4.7 Team System.....................508 13.4.8 Team Editions for Developers........................ 510 1 3 . 4 . 9性能工具........................ 511 1 3 . 4 . 1 0单元测试...................... 5 12 13.5 小结...........................................513 第 14 章使用 S Q L S e rv e r.................515 14.1 SQL Server Compact Edition................... 515 14.1.1 连接 SQL Server Compact Edition 数据丨午• 517 1 4 .1 .2同步数据.......................... 520 14.2 SQL Server 2005 中的 CLR 集成.............................. 526 1 4 .2 .1决定使用T-SQL 还是V B ............................ 527 1 4 .2 .2创建用户定义的类型••…528 1 4 .2 .3创建存储过程..................541 14.2.4 在 SQL Server 屮 使用Web服务..................547 14.3 小结...........................................553 14.4 资源...........................................553 XI Visual Basic 2 00 8高级编程(第5 版) 第 15 章 Windows 窗体.......................554 15.1 W in d ow s 窗体 2.0 版的 更新内容....................................... 554 1 5 .1 .1现奋控件的改进............. 554 1 5 .1 .2新增控件.......................... 556 15.1.3 对老版木 Windows 窗体控件的替换.............. 556 1 5 .1 .4默认的窗体实例............. 557 15.2 System. W in d ow s .F o rm s 名称空间....................................... 558 15.3 窗体的使用.................................. 558 15.3.1 通过 Sub Main 敁示窗体.......................... 558 1 5 . 3 . 2设置启动窗体................ 559 15.3.3 启动位 1 ! .......................... 559 1 5 .3 .4窗体边框.......................... 560 1 5 . 3 . 5始终背顶— TopMost 属性...................560 1 5 .3 .6附域窗体.......................... 560 1 5 .3 .7改变窗体的透明度.........561 1 5 . 3 . 8 可视化继承......................563 1 5 .3 .9滚动窗体.......................... 563 15.3.10 MD 丨窗体.......................563 15.3.11 V B 2 0 0 8 中的 MDI 样例.......................564 1 5 . 3 . 1 2对话框窗体.................. 566 1 5 .3 .1 3运行时的窗体............... 568 15.4 控件..................................................569 1 5 . 4 . 1 以Tab键切换 控件的顺序.......................569 1 5 . 4 . 2动态调整控件的 大小和布局......................569 15.4.3 FlowLayoutPanel 控件…571 15.4.4 TableLayoutPancl 控件… 573 15.4.5 Panel 和 GroupBox 容器控件...................... 573 15.4.6 扩展的 Provider 控件.•… 574 1 5 . 4 . 7数据输入的卨级功能••… 577 1 5 .4 .8验证数据输入..................579 1 5 .4 .9工具栏与新增的 TooIStrip 控件..................580 15.4.10 菜单.................................583 15.4.11 通用对 框....................584 1 5 . 4 . 1 2拖放操作........................ 586 15.4.13 紅准 Windows 窗体 控件小结........................ 588 1 5 . 4 . 1 4已撤销的控件............... 591 1 5 . 4 . 1 5处理相关控件组........... 592 1 5 .4 .1 6在运行时添加控件…•…593 1 5 . 5 其他编程技巧.............................. 594 15.6 小结...................................................594 第1 6章 W in d ow s窗体的 高级功能................................ 595 1 6 . 1 在可视化控件中封装逻辑••…595 1 6 . 2 在W in d o w s窗体中幵发 自定义的控件............................. 596 1 6 .2 .1继承现有的控件.............596 1 6 .2 .2构建复合控件..................596 1 6 .2 .3从头编写控件..................597 1 6 . 3 继承现有的控件..........................597 1 6 .3 .1基本步骤.......................... 597 1 6 . 3 . 2给派牛的控件 添加代码............................597 1 6 . 3 . 3其他有用的特性............. 600 1 6 . 3 . 4为派生的控件 &定义事件......................601 1 6 . 3 . 5限制选中项数的 ChcckedListBox............... 602 16.4 C o n tro l 与 U s e rC o n tro l 基类................................................ 605 16.4.1 Control 类......................... 605 16.4.2 UserControl 类..................606 16.5 复合控件.........................................606 1 6 . 5 . 1创建a 合的 UserControl......................607 1 6 . 5 . 2改变控件的人小............. 608 1 6 .5 .3提供子控件的域性.........608 16.5.4 —个具体的例子............. 608 1 6 . 6 从头构建控件...............................612 1 6 . 7 给工具筘中的控件 添加阁标.........................................617 XII 目 录 16 . 8 在控件中嵌入其他控件........ 618 16.9 小结..........................................620 第 17 章 Windows Presentation Foundation.............................621 1 7 . 1 内容、位S 、原因、方式 - WPF 策略...................... 621 1 7 . 2 光栅图形和矢量图形.............623 17.3 下一个Windows项目应 使用WP F吗..........................623 1 7 . 4 创建WPF应用程序..............624 17.4.1 使用 WPF 和 X AM L ……627 1 7 . 4 . 2定制用户界而.......... •••••642 1 7 . 4 . 3定制按钮........................ 651 17.4.4 Expression Blend............ 6 5 4 17.5 小结..........................................663 第1 8章集成W P F和Windows 窗体.........................................664 18.1 集成库......................................664 18.2 在Windows窗休中包含 WPF 控件................................ 666 1 8 . 2 . 1创建W P F控件库.......... 6 66 18.2.2 Windows 窗体 应州程序...................... 669 18.3 在 WPF 中包含 Windows 窗体控件.................................. 676 1 8 . 4 集成的限制.............................681 18.5 小结..........................................681 第 19 章使用 ASP.NET 3 .5 ................683 19.1 ASP.NET 的 R 标.................... 683 1 9 . 1 . 1幵发效率...................... 683 1 9 . 1 . 2管理和维护...................683 1 9.1.3性能和可伸缩性........... 684 19.1.4 ASP.NET 编译系统........ 684 19.1.5 A S P .N E T应用程序的 健康监控...................... 685 1 9 . 1 . 6读写配置设貨...............685 19.1.7 木地化...............................685 1 9 .1 .8【力问数据的对象........... 685 19.2 建立 ASP.NET 3.5 页面的ID E ................................... 686 1 9 . 3 建立A S P .N E T应用程序•……687 1 9 .3 .1应用程序的定位选项••…687 19.3.2 I IS ...................................... 689 19.3.3 FTP....................................689 19.3.4 W e b站点盖要 FrontPage Extensions......690 19.4 ASP.NET页面结构选项........690 1 9 .4 .1内联编砰.......................... 692 1 9 .4 .2后台编码校型..................694 19.5 ASP.NET 3 .5的页面指令……695 19.6 ASP.NET 页面事件................ 696 19.7 ASP.NET应用程序文件夹….697 19.7.1 \App_Code 文件夹..........698 19.7.2 \App_Data 文件夹...........701 19.7.3 \App—Themes 文件夹......701 19.7.4 \App_GlobalRcsourccs 文件夹...............................701 19.7.5 \App_Local Resources 文件夹...............................702 19.7.6 \App_WcbRcfcrcnces 文件夹...............................702 19.7.7 \App Browsers 文件夹…702 19.8 Global.asax............................... 702 19.9 ASP.NET服务器控件............705 1 9 .9 .1服务器控件的类型.........706 1 9 .9 .2用服务器控件构建页面• 707 1 9 .9 .3使用服务器控件的事件_ 709 1 9 . 1 0 用JavaScript处理页而和 服务器控件............................710 19.10.1 使用 Page.Client Script.RcgistcrClient ScriptBlock....................711 19.10.2 使用 Pagc.Client Script.Register StartupScript................ 713 19.10.3 使用 Page.Client Script.RegisterCIient Scriptlncludc..................714 XIII Visual Basic 2 00 8高级编程(第5 版) 19.11 小结.........................................714 第2 0 章ASP.NET 3 .5的高级功能…715 2 0 . 1 应用程序和页面.................... 715 2 0 .1 .1跨页面传送...................715 20.1.2 ASP.NET 编译功能.........719 20.2 Master 页面.............................722 20.2.1 创建 Master 页面............723 2 0 .2 .2创建内容页面...............725 2 0 . 2 . 3在应用程序范围内 声明Master贝面............ 727 2 0 . 2 . 4 为Master贝面提供 默认内咨...................... 728 2 0 . 3 数据驱动的应用程序.............728 20.3.1 使用 GridView 和 SqlDataSource 控件........729 20.3.2 允许A GridView 屮 编辑和删除记录........... 734 2 0 . 3 . 3 其他内容.......................... 737 20.4 页面导航................................. 737 20.4.1 使用 SiteMapPath 服务器控件.................. 739 20.4.2 Menu服务器控件...........740 20.4.3 Tree View 服务器控件••…741 2 0 . 5 成员和角色管理.................... 744 2 0 . 6 个性化功能.............................747 20.7 在 Vista 的 IIS 上配S ASP.NET.................................. 749 2 0 . 8 使用ASP.NET的提供 程序校型................................. 750 20.9 ASP.NET A JA X .......................756 2 0 . 9 . 1 理解对A J A X的耑求•.…757 20.9.2 推出 AJAX 之前............. 757 20.9.3 A J A X改变的方面..........758 20.9.4 ASP.NET AJAX 和 Visual Studio 2008...........759 2 0 . 9 . 5 客广端技术......................759 2 0 . 9 . 6 服务器端技术................. 760 20.9.7 用 ASP.NET AJAX 开发..............................760 2 0 . 9 . 8用A J A X建立简旱的 ASP.NET 页面..................761 20.10 小结.........................................766 第 21 章 Silverlight 开发.................... 767 21.1 Silverlight 简介..................... 767 21.1.1 Silverlight 浏览器 的要求...............................767 21.1.2 Silverlight 的两个版本…• 768 21.1.3 安装 Silve rlight............... 768 21.2 幵发 Silverlight 应用程序..... 769 21.3 Silverlight 示例........................774 21.3.1 简单的 Hello World! 示例................................... 775 2 1 . 3 . 2处理多个元素..................776 21.3.3 事件和 Silverlight...........778 21.4 小结...........................................781 第 22 章 Visual Studio Tools for Office ............................... 782 22.1 V S TO的各个版本................. 782 22.1.1 Officc的自动化 功能和VSTO...................783 22.1.2 VSTO 项目类型.............. 784 22.2 O ffic e业务应用程序的 体系结构................................. 785 22.3 使用 VBA 和 VSTO...............786 2 2 . 4 创建文档模板(Word).............791 2 2 . 4 . 1给文档添加内容............. 793 22.4.2 添加 Ribbon 和 动作面板.......................... 794 2 2 . 4 . 3激活动作面板..................797 2 2 . 4 . 4更新内容控件................. 800 22.5 创建 Office 插件(Excel).........802 22.6 Outlook Form Regions...........808 22.7 小结...........................................816 第2 3章程序集.................................... 817 2 3 . 1 程序集.......................................817 23.2 清单........................................... 818 目 录 23.2.1 标识部分......................... • 820 23.2.2 弓1用的程序集................ •822 23.3 程序集与部署............................ •822 23.3.1 应用程序私有的程序集•822 23.3.2 共亨程作集..................... .823 23.4 版本化问题.............................. •824 23.4.1 应用程序隔离............... •824 23.4.2 并行执行....................... .824 23.4.3 Q 描述............................ •825 23.4.4 版木策略....................... •825 23.4.5 配置文件......................... •826 23.5 程序集的动态加载................... •829 23.5.1 Assembly 类............... •829 23.5.2 动态加载示例................. •830 23.5.3 传入程序集..................... •831 23.6 小结•• •832 第2 4 章部署• 833 24.1 应用程序部署............................ .833 24.1.1 .NET中的部署很简单•••833 24.1.2 XCO P Y部署................... •8 3 4 24.1.3 使用 Windows Installer•••8 3 4 24.1.4 ClickOnce 部署.............. •8 3 4 24.2 V isu a l S tu d io 20 08 中的 新增功能...................................... .83 4 24.3 V isu a l S tu d io 部署项目.......... •835 24.3.1 项目模板.......................... 835 24.3.2 创建部署项目................. 837 24.4 修改部署项........................ •840 24.4.1 项冃域性.......................... 841 24.4.2 File System 編辑器......... 843 24.4.3 Registry编辑器............... 846 24.4.4 File Types 编辑器.......... 848 24.4.5 User Interface 编辑器••…849 24.4.6 Custom Actions 编辑器… 852 24.4.7 Launch Conditions 编辑器............................ 853 24.4.8 构建................................ 856 24.5 Windows应用程序的 Internet 部署......................... 856 24.5.1 “无接触”部署.......... 856 24.5.2 ClickOnce 部署............... 858 24.5.3 0 定义的部署选项.......865 24.6 小结....................................... 865 第2 5章使用传统的C O M和接口…866 25.1 传统的 C O M ......................... 866 25.2 C O M 和.NET 的交互............867 2 5 . 2 . 1传统的组件......................867 25.2.2 .NET 成用程序................ 869 25.2.3 调试................................... 871 2 5 .2 .4寅接使用Tib丨mp..........872 2 5 . 2 . 5后期绑定.................... 873 25.3 ActivcX 控件........................ 877 2 5 . 3 . 1传统的A c tiv eX控件……877 25.3.2 个.N E T应用程序•…880 2 5 . 3 . 3再次调试.......................... 881 2 5 . 4 在C O M 应用程序中使用 •NET 组件............................. 881 25.4.1 .NET 组件......................... 881 25.4.2 RcgAsm.............................884 25.4.3 TlbExp...............................886 25.5 小结....................................... 886 第2 6章线程技术................................ 887 2 6 . 1 线程的含义........................... 887 2 6 . 1 . 1进程、应州程序域 和线程......................888 2 6 .1 .2线程的调度......................890 2 6 .1 .3线稈安全性与线程 亲和性........................ 891 2 6 . 1 . 4何时使用线程............. 892 2 6 . 1 . 5 设计后台任务..............893 2 6 .1 .6交互式应用程序........... 893 2 6 . 2 线程的实现........................... 894 26.2.1 —个简单的例子........... 894 2 6 . 2 . 2线程的实现方式............. 897 2 6 . 2 . 3 手动创建线程..................901 XV Visual Basic 2 00 8高级编程(第5 版) 2 6 . 2 . 4共亨数据.......................... 902 2 6 . 2 . 5避免共亨数据的使用••…903 2 6 . 2 . 6通过同步共享数据.........905 2 6 . 2 . 7同步对象.......................... 907 26.3 小结..........................................915 第 27 章 Windows Workflow Fou n da tion ............................916 2 7 . 1 应用程序中的工作流.............916 27.2 建立工作流............................. 917 27.2.1 用 Windows Workflow Foundation添加工作流" 9 1 8 27.2.2 —个简单的工作流.........921 2 7 . 2 . 3标准活动.......................... 924 2 7 . 2 . 4建立定制活动..................927 2 7 . 3 使用工作流和其他 应用程序................................. 932 27.3.1 Workflow Foundation 1 j Windows 窗体 一起使用...................... 933 27.3.2 Workflow Foundation 与 ASP.NET 一起使用.........935 27.4 小结..........................................938 27.5 资源..........................................938 第2 8 章X M LW e b服务......................939 28.1 Web 服务................................. 939 2 8 . 2 早期的体系结构设计.............940 2 8 . 2 . 1网络角度.......................... 940 2 8 . 2 . 2应用程序的发展............. 940 28.2.3 通过 Web 合并 Internet 和应用程序................... 941 28.2.4 Web 服务基础..................941 2 8 . 2 . 5存在的问题......................942 2 8 . 2 . 6其他技术.......................... 943 2 8 . 2 . 7被忽略的肀实..................943 28.3 构建Web服务........................948 28.4 —个实际的例子.................... 950 28.5 重载Web方法........................960 2 8 . 6 缓存Web服务的响应...........962 28.7 SOAP 标题.............................. 963 2 8 . 7 . 1建立带S O A P标题的 Web 服务.......................... 964 2 8 . 7 . 2使用带S O A P标题的 Web 服务.......................... 965 28.7.3 使用 SOA P 1.2 请求 Web 服务.......................... 967 28.8 Visual Basic 和 System. Web. Services.............968 28.8.1 System.Web.Scrviccs 名称空间..................... 968 28.8.2 System. Web. Services. Description 名称空间 969 28.8.3 System. Web. Services. Discovery 名称空间........970 28.8.4 System. Wcb.Services. Protocols 名称空间..........970 2 8 . 9 利用W e b服务进行设计…•…971 28.9.1 Web服务的作用............. 971 28.9.2 Web服务的兼容性.........972 28.9.3 X M L W e b 服务的 状态管理..................... 972 28.10 W e b服务的安全.................973 2 8 .1 0 .1加密套接字层............... 973 2 8 .1 0 .2目录级安全............... 973 2 8 .1 0 .3其他形式的安全性…•…974 2 8 . 1 1 分布式体系结构的缺点…•…974 28.1 1 .1安全性方面的缺点......974 28.11.2状态方面的缺点......... 974 28.11.3事务处理方面的缺点… 974 28.11.4速度与连接性 方面的缺点............... 974 28.12 W e b服务的发展前景.........975 28.13 小结.........................................975 第2 9章远程技术.................................976 2 9 . 1 远程技术概述........................977 2 9 .1 .1基本术语.................... 977 XVI 目 录 29.1.2 SingleCalK Singleton 和 激活的对象.......................979 2 9 . 2 远程技术的实现.................... 983 29.2.1 •个简单的例子.............983 2 9 . 2 . 2把I IS用作远程主机……992 29.2.3 f t 'il] Activator.Get Object................................996 2 9 . 2 . 4基于接口的设计............. 997 2 9 . 2 . 5使用生成的代理............. 998 29.3 小结..........................................999 第3 0章企业级服务.......................... 1000 30.丨事务处理............................... 1000 3 0 . 2 事务处理组件.......................1001 3 0 . 3 事务处理的其他方面.............1014 30.3.1 Just-In-Time....................1014 30.3.2 对象池.............................1014 3 0 . 4 排队组件.....................................1014 30.4.1 —个排队组件样例•……1015 3 0 . 4 . 2使用排队组件进行 唞务处埋.................... 1019 30.5 Transactions 类和 System.Transactions 名称空间........................... 1020 3 0 . 5 . 1创建事务........................ 1021 3 0 . 5 . 2创建资源管理器........... 1023 30.6 小结........................................1023 第3 1章网络编程..............................1024 31.1 协议、地址和端U ............... 1024 3 1 .1 .1地址与计算机名...........1025 3 1 . 1 . 2端口:指定应用程序…丨026 3 1 . 1 . 3防火墙:不离不弃…•… 1027 31.2 System.Nct 名称空间...........1027 31.2.1 Web请求与响应........... 1027 31.2.2 使用 WcbClient 简化 常用的Web请求....... 1044 31.2.3 使用 HttpListener 创建 自己的W e b服务器…… 1046 31.3 小结........................................1053 第 32 章 Windows Communication Foundation(WCF)............. 1054 3 2 . 1 向SO A迈出一人步.............1054 32.2 WCF 概述..............................1055 32.2.1 WCF 的功能................. 1055 32.2.2 使用 WS-*协议............. 1056 32.3 建立W C F服务.................... 1057 32.3.1 W C F 服务的构成......... 1058 3 2 . 3 . 2创建第一个 WCF 服务......................1059 3 2 . 4 建立W C F客户程序............1065 3 2 .4 .1添加服务引用............1066 3 2 . 4 . 2 查希引用...................... 1067 3 2 . 4 . 3 配置文件的修改......... 1070 3 2 . 4 . 4 编写客P 程$ 的代码… 1072 3 2 . 5 使用数据合同........................1073 3 2 . 5 . 1建、:f.带数据 合同的服务..................1074 3 2 . 5 . 2 建立主机程序.............. 1076 3 2 . 5 . 3 建立客户程序.............. 1076 32.5.4 ☆农 HelloCustomer Service 的 W S D L 和模式........................ 1078 32.6 名称空间................................ 1080 32.7 安全性........................................... 1080 32.8 小结.........................................1082 第 33 章 Windows 服务................... 1083 33.1 Windows 服务范例..............1083 33.2 Windows 服务的特性..........1084 33.3 与Windows服务交互.........丨084 33.4 创建 Windows 服务.............1085 3 3 . 4 . 1 川于Windows服务的 •NET Framework 类.......1085 3 3 . 4 . 2 其他类型的 Windows 服务............... 1088 33.5 在V B 中创建 Windows 服务.......................1088 3 3 . 6 创建计数监视器服务...........1090 XVII Visual Basic 2 00 8高级编程(第5 版) 3 3 . 6 . 1安装服务........................1092 3 3 . 6 . 2启动服务........................ 1092 3 3 . 6 . 3卸载服务........................ 1093 3 3 . 7 监视性能汁数器.................. 1093 3 3 . 7 . 1创建性能计数器...........1094 3 3 . 7 . 2把计数器集成到 服务屮.............................1095 3 3 . 7 . 3修改性能计数器 屮的值........................1095 3 3 . 8 与Windows月艮务通信.........1096 33.8.1 ServiccContro丨丨er 类......1096 33.8.2 把 ServiceControllcr 集成到例子中.............1097 33.8.3 ServiceControllcr 的 更多内容.................... 1098 3 3 . 9 定制命令............................... 1099 3 3 . 1 0 给服务传递字符串.............1101 3 3 . 1 1 创建文件监视程序.............1101 33.11.1 使用 Eventlog 编写事件.................1101 33.11.2 创建 FileSystem Watchcr....................... 1102 3 3 . 1 2 调试服务..............................1105 33.13 小结.......................................1107 第 34 章 VB 与 Internet......................1108 34.1 F 载 Internet 资源................ 1108 34.2 套接字................. ...................1111 3 4 .2 .1建立应用程序............1111 34.2.2 创建 Conversation 窗口......................... 1114 3 4 .2 .3发送消息.................. 1121 3 4 . 2 . 4关闭应用程序............... 1126 3 4 . 3 在应用程序中使用 Internet Explorer..................1130 34.4 小结.........................................1138 附录A V B 编译器............................... 1139 附录 B Visual Basic Power Packs T o o ls ............................1152 附录 C Visual Basic 资源..................1164 《Visual Basic 2008高级编程(第5版)》主要介绍了如何在VB解决方案中使用Microsoft提供的最新、最强大的工具,探讨了LINQ、AJAX、新的Visual Studio 版本等,使读者能把这些功能应用于自己目前要完成的工作。《Visual Basic 2008高级编程(第5版)》的内容还包括.NET Framework、部署.NET应用程序的最佳方式、数据访问与其他技术,如COM和XML的集成。随着.NET功能的整体增强,Visual Basic 的功能也得到极大提升,应用也越来越广。《Visual Basic 2008高级编程(第5版)》通过大量示例详细阐述了Visual Basic 2008的各种新特性、编程知识和开发技巧,适合希望迁移到Visual Basic 2008编程的高级程序员。该书与《Visual Basic 2008入门经典(第5版)》以及它们的早期版本一直是中国VB程序员学习.NET技术的优秀图书。Visual Basic 2008 版本有了很大的改进,给Visual Basic 这个面向对象的流行语言引入了全新的概念、技术和功能。编写《Visual Basic 2008高级编程(第5版)》的优秀团队非常了解学习Visual Basic 2008 所面临的挑战。《Visual Basic 2008高级编程(第5版)》内容全面,为在.NET环境下使用Visual Basic 2008 提供了一种清晰而简明的方式。