C#高级编程(第4版)
|
|
| 新书城图书编号:63682 |
| 图书ISBN:7302138036 |
| 出版时间:2006-10-1 |
| 出版社:清华大学出版社 |
| 作者:(美)内格尔 等编著,李敏波 翻译 |
|
市场价格:¥128 |
|
普通会员:¥102.4
|
80折 |
|
VIP会员:¥96
|
75折 |
|
|
|
|
|
|
|
【图书简介】
|
|
C#经典名著!也是Wrox红皮书中最畅销的品种之一,从第一版开始就名满天下;其第3版被中华读书报、CSDN、《程序员》等机构评选为2005年最权威的十大IT图书之一(第2名);在中国版协、中国出版科学研究所、《出版参考》杂志组织的“2005年度输出版、引进版优秀图书”评选活动中获得“2005年度引进版科技类优秀图书”奖。第4版面向C# 2005,在全面展示.NET新特性的同时继续完善原有的内容,是有一些C#基础知识的学习者或者想迁移到C#的其他程序员全面掌握C#的首选教程。
C#和.NET全面革新了编写程序的方式。本书以最新的.NET Framework 2.0和Visual Studio 2005为基础,全面介绍了C#编程的工具,提供了理解.NET体系结构的工作原理所必需的背景知识。
本书适用于已具有C++、Visual Basic或J++等编程经验的开发人员。本书还适合于了解.NET 1.0,但准备迁移到.NET 2.0和Visual Studio 2005的程序员。
|
|
|
|
【图书目录】
|
第Ⅰ部分 C# 语 言 第1章 .NET体系结构 3 1.1 C#与.NET的关系 3 1.2 公共语言运行库 3 1.3 详细介绍中间语言 6 1.3.1 面向对象和接口的支持 7 1.3.2 相异值类型和引用类型 8 1.3.3 强数据类型 8 1.3.4 通过异常方法处理错误 14 1.3.5 特性的使用 14 1.4 程序集 14 1.4.1 私有程序集 15 1.4.2 共享程序集 16 1.4.3 反射 16 1.5 .NET Framework类 16 1.6 命名空间 17 1.7 用C#创建.NET应用程序 18 1.7.1 创建ASP.NET应用程序 18 1.7.2 创建Windows窗体 20 1.7.3 Windows控件 20 1.7.4 Windows服务 20 1.8 C#在.NET企业体系结构中 的作用 20 1.9 小结 22 第2章 C#基础 23 2.1 引言 23 2.2 第一个C#程序 23 2.2.1 代码 24 2.2.2 编译并运行程序 24 2.2.3 详细介绍 25 2.3 变量 27 2.3.1 变量的初始化 27 2.3.2 变量的作用域 28 2.3.3 常量 31 2.4 预定义数据类型 32 2.4.1 值类型和引用类型 32 2.4.2 CTS类型 33 2.4.3 预定义的值类型 33 2.4.4 预定义的引用类型 36 2.5 流控制 39 2.5.1 条件语句 39 2.5.2 循环 43 2.5.3 跳转语句 46 2.6 枚举 47 2.7 数组 49 2.8 命名空间 50 2.8.1 using语句 51 2.8.2 命名空间的别名 52 2.9 Main()方法 53 2.9.1 多个Main()方法 53 2.9.2 给Main()方法传送参数 54 2.10 有关编译C#文件的更多内容 55 2.11 控制台I/O 56 2.12 使用注释 58 2.12.1 源文件中的内部注释 58 2.12.2 XML文档说明 59 2.13 C#预处理器指令 61 2.13.1 #define和 #undef 61 2.13.2 #if, #elif, #else和#endif 62 2.13.3 #warning和# error 63 2.13.4 #region和#endregion 63 2.13.5 #line 64 2.13.6 #pragma 64 2.14 C#编程规则 64 2.14.1 用于标识符的规则 64 2.14.2 用法约定 65 2.15 小结 71 第3章 对象和类型 72 3.1 类和结构 72 3.2 类成员 73 3.2.1 数据成员 73 3.2.2 函数成员 74 3.2.3 只读字段 88 3.3 结构 89 3.3.1 结构是值类型 90 3.3.2 结构和继承 91 3.3.3 结构的构造函数 91 3.4 部分类 92 3.5 静态类 94 3.6 Object类 94 3.6.1 System.Object方法 94 3.6.2 ToString()方法 95 3.7 小结 97 第4章 继承 98 4.1 继承的类型 98 4.1.1 实现继承和接口继承 98 4.1.2 多重继承 99 4.1.3 结构和类 99 4.2 实现继承 99 4.2.1 虚方法 100 4.2.2 隐藏方法 101 4.2.3 调用函数的基类版本 102 4.2.4 抽象类和抽象函数 103 4.2.5 密封类和密封方法 103 4.2.6 派生类的构造函数 104 4.3 修饰符 109 4.3.1 可见性修饰符 109 4.3.2 其他修饰符 110 4.4 接口 111 4.4.1 定义和实现接口 112 4.4.2 派生的接口 116 4.5 小结 118 第5章 运算符和类型强制转换 119 5.1 运算符 119 5.1.1 运算符的简化操作 120 5.1.2 三元运算符 121 5.1.3 checked和unchecked运算符 122 5.1.4 is运算符 123 5.1.5 as运算符 123 5.1.6 sizeof运算符 123 5.1.7 typeof运算符 124 5.1.8 可空类型和运算符 124 5.1.9 空接合运算符 124 5.1.10 运算符的优先级 125 5.2 类型的安全性 125 5.2.1 类型转换 126 5.2.2 装箱和拆箱 130 5.3 对象的相等比较 130 5.3.1 引用类型的相等比较 131 5.3.2 值类型的相等比较 132 5.4 运算符重载 132 5.4.1 运算符的工作方式 133 5.4.2 运算符重载的示例: Vector结构 134 5.5 用户定义的数据类型转换 141 5.5.1 执行用户定义的类型转换 142 5.5.2 多重数据类型转换 149 5.6 小结 152 第6章 委托和事件 153 6.1 委托 153 6.1.1 在C#中声明委托 154 6.1.2 在C#中使用委托 155 6.2 匿名方法 158 6.2.1 简单的委托示例 159 6.2.2 BubbleSorter示例 161 6.2.3 多播委托 164 6.3 事件 166 6.3.1 从客户的角度讨论事件 167 6.3.2 生成事件 169 6.4 小结 173 第7章 内存管理和指针 174 7.1 后台内存管理 174 7.1.1 值数据类型 174 7.1.2 引用数据类型 176 7.1.3 垃圾收集 178 7.2 释放未托管的资源 179 7.2.1 析构函数 179 7.2.2 IDisposable接口 180 7.2.3 实现IDisposable接口和 析构函数 182 7.3 不安全的代码 183 7.3.1 指针 183 7.3.2 指针示例PointerPlayaround 193 7.3.3 使用指针优化性能 197 7.4 小结 201 第8章 字符串和正则表达式 202 8.1 System.String类 202 8.1.1 创建字符串 203 8.1.2 StringBuilder成员 206 8.1.3 格式化字符串 207 8.2 正则表达式 213 8.2.1 正则表达式概述 213 8.2.2 RegularExpressionsPlayaround 示例 214 8.2.3 显示结果 216 8.2.4 匹配、组合和捕获 218 8.3 小结 220 第9章 集合 221 9.1 对象组 221 9.1.1 集合 222 9.1.2 数组列表 225 9.1.3 Stack类 229 9.1.4 Queue类 231 9.1.5 SortedList类 232 9.1.6 字典和散列表 234 9.1.7 泛型 243 9.2 小结 244 第10章 泛型 245 10.1 概述 245 10.1.1 性能 245 10.1.2 类型安全 246 10.1.3 二进制代码的重用 247 10.1.4 代码的扩展 247 10.1.5 命名约定 248 10.2 泛型集合类 248 10.2.1 泛型集合概述 248 10.2.2 使用List类 251 10.2.3 使用Queue类 256 10.2.4 使用LinkedList类 260 10.3 创建定制的泛型类 265 10.3.1 默认值 267 10.3.2 约束 267 10.4 泛型方法 270 10.5 泛型委托 272 10.6 Framework的其他泛型类型 274 10.6.1 结构Nullable 274 10.6.2 EventHandler 276 10.6.3 ArraySegment 276 10.7 小结 277 第11章 反射 278 11.1 定制特性 278 11.1.1 编写定制特性 279 11.1.2 定制特性示例: WhatsNewAttributes 282 11.2 反射 286 11.2.1 System.Type类 286 11.2.2 TypeView示例 288 11.2.3 Assembly类 291 11.2.4 完成WhatsNewAttributes 示例 292 11.3 小结 296 第12章 错误和异常 297 12.1 错误和异常处理 297
12.1.1 异常类 297 12.1.2 捕获异常 299 12.1.3 用户定义的异常类 308 12.2 小结 316 第13章 线程 317 13.1 线程 317 13.2 多线程应用程序 318 13.3 线程的处理 319 13.3.1 ThreadPlayaround示例 322 13.3.2 线程的优先级 325 13.3.3 同步 326 13.4 使用ThreadPool创建线程 330 13.5 小结 334 第Ⅱ部分 .NET 环 境 第14章 Visual Studio 2005 337 14.1 使用Visual Studio 2005 337 14.1.1 创建项目 341 14.1.2 解决方案和项目 347 14.1.3 Windows应用程序代码 349 14.1.4 读取Visual Studio 6项目 350 14.1.5 项目的浏览和编码 350 14.1.6 生成项目 360 14.1.7 调试 363 14.2 修订功能 366 14.3 小结 368 第15章 程序集 369 15.1 程序集的含义 369 15.1.1 DLL Hell的解决方案 370 15.1.2 程序集的特性 370 15.1.3 应用程序域和程序集 371 15.2 程序集的结构 374 15.2.1 程序集的清单 374 15.2.2 命名空间、程序集和组件 375 15.2.3 私有程序集和共享程序集 375 15.2.4 查看程序集 375 15.2.5 构建程序集 376 15.3 跨语言支持 380 15.3.1 CTS和CLS 380 15.3.2 语言无关性 381 15.3.3 CLS要求 389 15.4 全局程序集缓存 391 15.4.1 本机图像生成器 391 15.4.2 全局程序集缓存查看器 392 15.4.3 全局程序集缓存工具 (gacutil.exe) 393 15.5 创建共享程序集 393 15.5.1 共享程序集名 393 15.5.2 创建共享程序集 395 15.6 配置 400 15.6.1 配置类别 400 15.6.2 版本问题 401 15.6.3 配置目录 409 15.7 小结 411 第16章 .NET的安全性 412 16.1 代码访问的安全性 412 16.1.1 代码组 413 16.1.2 代码访问权限和权限集 419 16.1.3 策略的级别:Machine、 User和Enterprise 423 16.2 对Framework中安全性的 支持 425 16.2.1 要求权限 426 16.2.2 请求权限 427 16.2.3 隐式的权限 430 16.2.4 拒绝权限 431 16.2.5 断言权限 432 16.2.6 创建代码访问权限 433 16.2.7 声明的安全性 434 16.3 安全策略的管理 435 16.3.1 安全配置文件 435 16.3.2 代码组和权限的管理 438 16.3.3 安全性的启用和禁用 438 16.3.4 重置安全策略 439 16.3.5 代码组的创建 439 16.3.6 代码组的删除 440 16.3.7 代码组权限的更改 440 16.3.8 权限集的创建和应用 441 16.3.9 使用强名发布代码 443 16.3.10 使用证书发布代码 445 16.3.11 区域的管理 449 16.4 基于角色的安全性 451 16.4.1 Principal 451 16.4.2 Windows Principal 452 16.4.3 角色 454 16.4.4 声明基于角色的安全性 454 16.5 小结 455 第17章 本地化 456 17.1 System.Globalization 命名空间 456 17.1.1 Unicode问题 456 17.1.2 文化和区域 457 17.1.3 使用文化 461 17.1.4 排序 466 17.2 资源 467 17.2.1 创建资源文件 468 17.2.2 资源文件生成器 468 17.2.3 ResourceWriter 468 17.2.4 使用资源文件 469 17.2.5 System.Resources 命名空间 474 17.3 使用Visual Studio的本地化 示例 475 17.3.1 编程修改文化 480 17.3.2 使用定制资源文件 481 17.3.3 资源的自动回退 482 17.3.4 外包翻译 482 17.4 用ASP.NET本地化 483 17.5 定制的资源读取器 485 17.5.1 创建DatabaseResource Reader类 485 17.5.2 创建DatabaseResource Set类 487 17.5.3 创建DatabaseResource Manager类 487 17.5.4 DatabaseResourceReader的 客户应用程序 488 17.6 创建定制文化 489 17.7 小结 489 第18章 部署 490 18.1 部署的设计 490 18.2 部署选项 490 18.2.1 Xcopy实用工具 491 18.2.2 Copy Web工具 491 18.2.3 发布Web站点 491 18.2.4 部署项目 491 18.2.5 ClickOnce 491 18.3 部署的要求 491 18.4 简单的部署 492 18.4.1 Xcopy部署 493 18.4.2 Xcopy和Web应用程序 493 18.4.3 Copy Web工具 493 18.4.4 发布Web站点 494 18.5 Installer项目 494 18.5.1 Windows Installer 495 18.5.2 创建安装程序 495 18.6 ClickOnce 504 18.6.1 ClickOnce操作 504 18.6.2 发布应用程序 504 18.6.3 ClickOnce设置 505 18.6.4 应用程序缓存 505 18.6.5 安全性 506 18.6.6 高级选项 506 18.7 小结 511 第Ⅲ部分 数 据 第19章 .NET数据访问 515 19.1 ADO.NET概述 515 19.1.1 命名空间 516 19.1.2 共享类 516 19.1.3 数据库特定的类 516 19.2 使用数据库连接 517 19.2.1 管理连接字符串 518 19.2.2 高效地使用连接 520 19.2.3 事务处理 522 19.3 命令 524 19.3.1 执行命令 525 19.3.2 调用存储过程 528 19.4 快速数据访问:数据读取器 531 19.5 管理数据和关系:DataSet类 534 19.5.1 数据表 535 19.5.2 数据列 536 19.5.3 数据关系 541 19.5.4 数据约束 542 19.6 XML模式 544 19.7 填充数据集 552 19.7.1 用数据适配器来填充 DataSet 552 19.7.2 从XML中给数据集填充 数据 553 19.8 保存对数据集的修改 553 19.8.1 通过数据适配器进行更新 554 19.8.2 写入XML输出结果 556 19.9 使用ADO.NET 558 19.9.1 分层开发 558 19.9.2 生成SQL Server的键 559 19.9.3 命名约定 561 19.10 小结 562 第20章 .NET编程和 SQL Server 2005 564 20.1 .NET运行库的主机 564 20.2 Microsoft.SqlServer.Server 565 20.3 用户定义的类型 566 20.3.1 创建UDT 566 20.3.2 使用UDT 572 20.3.3 在客户端代码中使用UDT 573 20.4 用户定义的合计函数 574 20.4.1 创建用户定义的合计函数 574 20.4.2 使用用户定义的合计函数 575 20.5 存储过程 576 20.5.1 创建存储过程 576 20.5.2 使用存储过程 577 20.6 用户定义的函数 578 20.6.1 创建用户定义的函数 578 20.6.2 使用用户定义的函数 579 20.7 触发器 579 20.7.1 创建触发器 580 20.7.2 使用触发器 581 20.8 XML数据类型 581 20.8.1 包含XML数据的表 582 20.8.2 数据的查询 584 20.8.3 XML数据修改语言 (XML DML) 585 20.8.4 XML索引 586 20.8.5 强类型化的XML 587 20.9 小结 588 第21章 处理XML 589 21.1 .NET支持的XML标准 589 21.2 System.Xml命名空间 590 21.3 在.NET中使用MSXML 591 21.4 使用System.Xml类 593 21.5 读写流格式的XML 593 21.5.1 使用 XmlReader类 594 21.5.2 使用XmlReader类进行 验证 597 21.5.3 使用XmlWriter类 599 21.6 在.NET中使用DOM 601 21.7 使用XPathNavigator 607 21.7.1 System.Xml.Xpath 命名空间 607 21.7.2 System.Xml.Xsl命名空间 612 21.8 XML和ADO.NET 617 21.8.1 将ADO.NET数据转换为 XML文档 617 21.8.2 把XML文档转换为 ADO.NET数据 624 21.8.3 读写DiffGram 626 21.9 在XML中串行化对象 629 21.10 小结 639 第22章 使用Active Directory 640 22.1 Active Directory的体系结构 640 22.1.1 特性 641 22.1.2 Active Directory的概念 641 22.1.3 Active Directory数据的 特性 645 22.1.4 模式 645 22.2 Active Directory的管理工具 646 22.2.1 Active Directory Users and Computers工具 646 22.2.2 ADSI Edit工具 647 22.3 Active Directory编程 648 22.3.1 System.DirectoryServices命名 空间中的类 649 22.3.2 绑定 650 22.3.3 获取目录项 654 22.3.4 对象集合 655 22.3.5 缓存 656 22.3.6 创建新对象 657 22.3.7 更新目录项 658 22.3.8 访问内部的ADSI对象 658 22.3.9 在Active Directory中搜索 660 22.4 搜索用户对象 663 22.4.1 用户界面 663 22.4.2 获取模式命名环境 664 22.4.3 获取User类的属性名 665 22.4.4 搜索用户对象 666 22.5 DSML 668 22.5.1 命名空间 System.DirectoryServices. Protocols中的类 668 22.5.2 用DSML搜索Active Directory对象 669 22.6 小结 671 第Ⅳ部分 Windows应用程序 第23章 Windows窗体 675 23.1 创建Windows窗体应用程序 675 23.2 Control类 681 23.2.1 大小和位置 682 23.2.2 外观 683 23.2.3 用户交互操作 683 23.2.4 Windows功能 684 23.2.5 杂项功能 685 23.3 标准控件和组件 685 23.3.1 Button控件 686 23.3.2 CheckBox控件 686 23.3.3 RadioButton控件 687 23.3.4 ComboBox控件、ListBox 控件和CheckedListBox控件 687 23.3.5 DateTimePicker控件 690 23.3.6 ErrorProvider组件 690 23.3.7 HelpProvider组件 691 23.3.8 ImageList组件 692 23.3.9 Label控件 692 23.3.10 ListView控件 692 23.3.11 PictureBox控件 694 23.3.12 ProgressBar控件 695 23.3.13 TextBox控件、RichTextBox 控件与MaskedTextBox 控件 695 23.3.14 Panel控件 696 23.3.15 FlowLayoutPanel和 TableLayoutPanel控件 696 23.3.16 SplitContainer控件 697 23.3.17 TabControl控件和TabPages 控件 698 23.3.18 ToolStrip控件 698 23.3.19 MenuStrip控件 701 23.3.20 ContextMenuStrip控件 701 23.3.21 ToolStripMenuItem控件 701 23.3.22 ToolStripManager类 702 23.3.23 ToolStripContainer控件 702 23.4 窗体 702 23.4.1 Form类 703 23.4.2 多文档界面 708 23.4.3 定制控件 708 23.5 小结 721 第24章 查看.NET数据 722 24.1 DataGridView控件 722 24.1.1 显示列表数据 722 24.1.2 数据源 724 24.2 DataGridView类的层次结构 732 24.3 数据绑定 735 24.3.1 简单的绑定 735 24.3.2 数据绑定对象 735 24.4 Visual Studio.NET和 数据访问 739 24.4.1 创建一个连接 740 24.4.2 选择数据 742 24.4.3 更新数据源 743 24.4.4 构建模式 743 24.4.5 其他常见的要求 749 24.5 小结 757 第25章 使用GDI+绘图 758 25.1 理解绘图规则 758 25.1.1 GDI和GDI+ 758 25.1.2 绘制图形 760 25.1.3 使用OnPaint()绘制图形 763 25.1.4 使用剪切区域 764 25.2 测量坐标和区域 766 25.2.1 Point和PointF结构 766 25.2.2 Size和SizeF结构 767 25.2.3 Rectangle和RectangleF 结构 769 25.2.4 Region 770 25.3 调试须知 770 25.4 绘制可滚动的窗口 771 25.5 世界、页面和设备坐标 776 25.6 颜色 777 25.6.1 红绿蓝(RGB)值 777 25.6.2 命名的颜色 777 25.6.3 图形显示模式和安全的 调色板 778 25.6.4 安全调色板 779 25.7 画笔和钢笔 779 25.7.1 画笔 779 25.7.2 钢笔 780 25.8 绘制图形和线条 781 25.9 显示图像 783 25.10 处理图像时所涉及到的问题 785 25.11 绘制文本 786 25.12 简单的文本示例 787 25.13 字体和字体系列 788 25.14 示例:枚举字体系列 790 25.15 编辑文本文档:CapsEditor 示例 792 25.15.1 Invalidate()方法 796 25.15.2 计算项和文档的大小 797 25.15.3 OnPaint() 799 25.15.4 坐标转换 800 25.15.5 响应用户的输入 802 25.16 打印 805 25.17 小结 810 第Ⅴ部分 Web应用程序 第26章 ASP.NET页面 813 26.1 ASP.NET概述 813 26.2 ASP.NET Web窗体 814 26.2.1 ASP.NET代码模型 818 26.2.2 ASP.NET服务器控件 818 26.3 ADO.NET和数据绑定 833 26.3.1 更新会议登记应用程序 833 26.3.2 数据绑定的更多内容 840 26.4 应用程序配置 845 26.5 小结 847
第27章 ASP.NET开发 848 27.1 定制控件 848 27.1.1 用户控件 849 27.1.2 PCSDemoSite中的用户 控件 855 27.1.3 定制控件 856 27.2 Master页面 860 27.3 站点导航 864 27.4 安全性 867 27.4.1 使用安全向导添加Forms 身份验证功能 867 27.4.2 实现登录系统 870 27.4.3 Web 登录服务器控件 871 27.4.4 保护目录 872 27.4.5 PCSDemoSite中的安全性 872 27.5 主题 874 27.5.1 把主题应用于页面 875 27.5.2 定义主题 876 27.5.3 PCSDemoSite中的主题 876 27.6 小结 879 第Ⅵ部分 通 信 第28章 Web服务 883 28.1 SOAP 883 28.2 WSDL 885 28.3 Web服务 886 28.3.1 创建Web服务 886 28.3.2 使用Web服务 890 28.4 扩充会议登记示例 892 28.4.1 会议登记Web服务 892 28.4.2 会议登记客户程序 897 28.5 使用SOAP标题交换数据 901 28.6 小结 906 第29章 .NET Remoting 908 29.1 .NET Remoting的含义 908 29.1.1 应用程序类型和协议 909 29.1.2 CLR Object Remoting 909 29.2 .NET Remoting概述 910 29.3 环境 912 29.3.1 激活 913 29.3.2 特性和属性 913 29.3.3 环境之间的通信 914 29.4 远程对象、客户机和服务器 914 29.4.1 远程对象 914 29.4.2 简单的服务器 915 29.4.3 简单的客户机 916 29.5 .NET Remoting体系结构 917 29.5.1 信道 918 29.5.2 格式标识符 922 29.5.3 ChannelServices和 RemotingConfiguration 922 29.5.4 对象的激活 924 29.5.5 消息接收器 927 29.5.6 在远程方法中传递对象 928 29.5.7 生存期管理 933 29.6 .NET Remoting的其他特性 936 29.6.1 配置文件 936 29.6.2 利用ASP.NET驻留远程 服务器 946 29.6.3 类、接口和Soapsuds 948 29.6.4 异步远程调用 949 29.6.5 .NET Remoting的安全性 950 29.6.6 远程调用和事件 952 29.6.7 调用环境 958 29.7 小结 960 第30章 Enterprise Services 961 30.1 概述 961 30.1.1 Enterprise Services简史 961 30.1.2 使用Enterprise Services的 场合 962 30.1.3 环境 963 30.1.4 自动的事务处理 963 30.1.5 分布式事务处理 963 30.1.6 对象池 963 30.1.7 基于角色的安全性 964 30.1.8 排队的组件 964 30.1.9 松散藕合的事件 964 30.1.10 没有组件的服务 964 30.2 创建简单的COM+应用程序 965 30.2.1 类ServicedComponent 965 30.2.2 标记程序集 965 30.2.3 程序集的属性 965 30.2.4 创建组件 966 30.3 部署 967 30.3.1 自动部署 967 30.3.2 手工部署 968 30.3.3 创建安装软件包 968 30.4 Component Services浏览器 969 30.5 客户应用程序 971 30.6 事务处理 971 30.6.1 ACID属性 972 30.6.2 事务处理的属性 972 30.6.3 事务处理的结果 973 30.7 示例应用程序 973 30.7.1 实体类 974 30.7.2 OrderControl组件 978 30.7.3 OrderData组件 978 30.7.4 OrderLineData组件 981 30.7.5 客户应用程序 983 30.8 没有组件的服务 984 30.9 小结 986 第31章 消息队列 988 31.1 概述 988 31.1.1 使用Message Queuing 的场合 989 31.1.2 Message Queuing特性 990 31.2 Message Queuing产品 990 31.3 Message Queuing结构 991 31.3.1 消息 991 31.3.2 消息队列 992 31.4 Message Queuing管理工具 992 31.4.1 创建消息队列 992 31.4.2 消息队列属性 993 31.5 Message Queuing的编程实现 994 31.5.1 创建消息队列 994 31.5.2 查找队列 995 31.5.3 打开已知的队列 996 31.5.4 发送消息 997 31.5.5 接收消息 1000 31.6 课程订单应用程序 1002 31.6.1 课程订单类库 1002 31.6.2 课程订单消息发送程序 1005 31.6.3 发送优先级和可恢复 的消息 1006 31.6.4 课程订单消息接收程序 1007 31.7 接收结果 1010 31.7.1 确认队列 1011 31.7.2 响应队列 1012 31.8 事务队列 1012 31.9 消息队列的安装 1013 31.10 小结 1014 第32章 分布式编程的未来产品 1015 32.1 现有技术的问题 1015 32.2 Web服务 1016 32.2.1 安全性 1017 32.2.2 可靠性 1018 32.2.3 事务处理 1020 32.2.4 性能 1021 32.3 WCF概述 1023 32.4 用WCF编程 1025 32.4.1 契约 1025 32.4.2 服务程序的实现 1027 32.4.3 绑定 1028 32.4.4 主机 1030 32.4.5 客户程序 1031 32.5 准备使用WCF 1032 32.5.1 .NET Remoting 1032 32.5.2 ASP.NET Web服务 1033 32.5.3 Enterprise Services 1033 32.5.4 Message Queuing 1034 32.6 小结 1035 第Ⅶ部分 互 操 作 性 第33章 COM的互操作性 1039 33.1 .NET和COM 1039 33.1.1 元数据 1040 33.1.2 释放内存 1040 33.1.3 接口 1040 33.1.4 方法绑定 1042 33.1.5 数据类型 1042 33.1.6 注册 1042 33.1.7 线程 1043 33.1.8 错误处理 1044 33.1.9 事件处理 1045 33.2 编组 1045 33.3 在.NET客户程序中使用COM 组件 1046 33.3.1 创建COM组件 1046 33.3.2 创建Runtime Callable Wrapper 1050 33.3.3 线程问题 1053 33.3.4 添加连接点 1053 33.3.5 在Windows窗体中使用 ActiveX控件 1055 33.3.6 在ASP.NET中使用COM 对象 1058 33.4 在COM客户程序中使用.NET 组件 1058 33.4.1 COM Callable Wrapper 1058 33.4.2 创建.NET组件 1059 33.4.3 创建类型库 1060 33.4.4 COM互操作特性 1062 33.4.5 COM注册 1065 33.4.6 创建COM客户程序 1066 33.4.7 添加连接点 1068 33.4.8 用sink对象创建 客户程序 1069 33.4.9 在Internet Explorer中运行 Windows窗体控件 1070 33.5 小结 1070 第Ⅷ部分 Windows基本服务 第34章 文件和注册表操作 1073 34.1 管理文件系统 1073 34.1.1 表示文件和文件夹的 .NET类 1074 34.1.2 Path类 1077 34.1.3 示例:文件浏览器 1077 34.2 移动、复制和删除文件 1082 34.2.1 FilePropertiesAndMovement 示例 1082 34.2.2 示例 FilePropertiesAndMovement 的代码 1083 34.3 读写文件 1087 34.3.1 读取文件 1087 34.3.2 写入文件 1089 34.3.3 流 1090 34.3.4 缓存的流 1092 34.3.5 读写二进制文件 1092 34.3.6 读写文本文件 1097 34.4 读取驱动器信息 1103 34.5 文件的安全性 1105 34.5.1 从文件中读取ACL 1106 34.5.2 从目录中读取ACL 1107 34.5.3 添加和删除文件中的 ACL项 1109 34.6 读写注册表 1110 34.6.1 注册表 1111 34.6.2 .NET注册表类 1112 34.6.3 SelfPlacingWindow示例 1115 34.7 小结 1121 第35章 访问Internet 1122 35.1 WebClient类 1122 35.1.1 下载文件 1123 35.1.2 基本的Web客户示例 1123 35.1.3 上传文件 1124 35.2 WebRequest类和WebResponse 类 1125 35.3 把输出结果显示为HTML 页面 1128 35.3.1 在应用程序中进行简单的 Web浏览 1128 35.3.2 启动Internet Explorer 实例 1130 35.3.3 给应用程序提供更多的IE 类型特性 1131 35.3.4 使用WebBrowser控件显示 文档 1137 35.3.5 使用WebBrowser 控件打印 1138 35.3.6 显示请求页面的代码 1138 35.3.7 WebRequest和WebResponse 的层次结构 1140 35.4 实用工具类 1140 35.4.1 URI 1140 35.4.2 IP地址和DNS名称 1141 35.5 较低层的协议 1144 35.6 小结 1150 第36章 Windows服务 1151 36.1 Windows服务 1151 36.2 Windows服务的体系结构 1152
36.2.1 服务程序 1152 36.2.2 服务控制程序 1153 36.2.3 服务配置程序 1154 36.3 System.ServiceProcess 命名空间 1154 36.4 创建Windows服务 1154 36.4.1 使用套接字的类库 1155 36.4.2 TcpClient示例 1159 36.4.3 Windows服务项目 1160 36.4.4 线程和服务 1166 36.4.5 服务的安装 1166 36.4.6 安装程序 1166 36.5 服务的监视和控制 1171 36.5.1 MMC计算机管理 1171 36.5.2 net.exe 1172 36.5.3 sc.exe 1173 36.5.4 Visual Studio Server Explorer 1173 36.5.5 ServiceController类 1174 36.6 故障排除 1179 36.6.1 交互式服务 1180 36.6.2 事件日志 1181 36.6.3 性能监视 1186 36.7 电源事件 1190 36.8 小结 1191
|
|
|
|