【第I部分】 程序设计导引(c++)
- 格式:ppt
- 大小:819.50 KB
- 文档页数:53
c++程序设计语言第1~3部分下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!《C++程序设计语言》第1~3部分概述C++程序设计语言是一种通用的、面向对象的编程语言,广泛应用于工业和学术界。
C语言程序设计学习指导(第2版)第一章概述本章主要介绍了选择题的答题技巧,包括注意题干中的关键词、排除干扰选项等。
同时给出了一些例题进行讲解,帮助读者更好地掌握答题技巧。
第二章数据类型本章介绍了C语言中的数据类型,包括基本数据类型和派生数据类型。
其中基本数据类型包括整型、字符型、浮点型等,派生数据类型包括数组、结构体、共用体等。
同时还介绍了数据类型转换的方法和注意事项。
第三章运算符和表达式本章介绍了C语言中的运算符和表达式,包括算术运算符、关系运算符、逻辑运算符等。
同时还介绍了表达式的求值规则和优先级,以及一些常见的表达式问题的解决方法。
第四章输入和输出本章介绍了C语言中的输入输出函数,包括printf、scanf、puts、gets等。
同时还介绍了格式化输出和输入的方法,以及一些常见的输入输出问题的解决方法。
第五章选择结构本章介绍了C语言中的选择结构,包括if语句、switch语句等。
同时还介绍了选择结构的嵌套和注意事项,以及一些常见的选择结构问题的解决方法。
请注意,此篇文章中并没有错误或明显有问题的段落。
文章改写如下:1.计算1到n的倒数之和。
原文中的代码:float sum = 0.0;for (int i = 1.i <= n。
i++) {sum += 1.0 / i;printf("sum=%f\n"。
sum);改写后的代码:double sum = 0.0;for (int i = 1.i <= n。
i++) {sum += 1.0 / i;printf("The sum of the reciprocals from 1 to %d is %.2f.\n"。
n。
sum);2.计算1到n的平方和。
原文中的代码:float s2 = 0.0;for (int i = 1.i <= n。
i++) {s2 += i * i;printf("s2=%f\n"。
目录第Ⅰ部分C#语言第1章.NET体系结构 (3)1.1C#与.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)Framework类 (16)1.6命名空间 (17)1.7用C#创建.NET应用程序 (18)1.7.1创建应用程序 (18)1.7.2创建Windows窗体 (20)1.7.3Windows控件 (20)1.7.4Windows服务 (20)1.8C#在.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.2CTS类型 (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.1using语句 (51)2.8.2命名空间的别名 (52)2.9Main()方法 (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.2XML文档说明 (59)2.13C#预处理器指令 (61)2.13.1#define和#undef.612.13.2#if,#elif,#else和#endif.622.13.3#warning和#error.632.13.4#region和#endregion..632.13.5#line..64 2.13.6#pragma..642.14C#编程规则 (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.6Object类 (94)3.6.1System.Object方法 (94)3.6.2ToString()方法 (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.3checked和unchecked运算符 (122)5.1.4is运算符 (123)5.1.5as运算符 (123)5.1.6sizeof运算符 (123)5.1.7typeof运算符 (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.2BubbleSorter示例 (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.2IDisposable接口 (180)7.2.3实现IDisposable接口和析构函数 (182)7.3不安全的代码 (183)7.3.1指针 (183)7.3.2指针示例PointerPlayaround..1937.3.3使用指针优化性能 (197)7.4小结 (201)第8章字符串和正则表达式 (202)8.1System.String类 (202)8.1.1创建字符串 (203)8.1.2StringBuilder成员 (206)8.1.3格式化字符串 (207)8.2正则表达式 (213)8.2.1正则表达式概述 (213)8.2.2RegularExpressionsPlayaround示例 (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.3Stack类 (229)9.1.4Queue类 (231)9.1.5SortedList类 (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<T>类 (251)10.2.3使用Queue<T>类 (256)10.2.4使用LinkedList<T>类.....260 10.3创建定制的泛型类 (265)10.3.1默认值 (267)10.3.2约束 (267)10.4泛型方法 (270)10.5泛型委托 (272)10.6Framework的其他泛型类型 (274)10.6.1结构Nullable<T> (274)10.6.2EventHandler<TEventArgs> (276)10.6.3ArraySegment<T> (276)10.7小结 (277)第11章反射 (278)11.1定制特性 (278)11.1.1编写定制特性 (279)11.1.2定制特性示例:WhatsNewAttributes..282 11.2反射 (286)11.2.1System.Type类 (286)11.2.2TypeView示例 (288)11.2.3Assembly类 (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.1ThreadPlayaround示例 (322)13.3.2线程的优先级 (325)13.3.3同步 (326)13.4使用ThreadPool创建线程 (330)13.5小结 (334)第Ⅱ部分.NET环境第14章VisualStudio2005..33714.1使用VisualStudio2005 (337)14.1.1创建项目 (341)14.1.2解决方案和项目 (347)14.1.3Windows应用程序代码 (349)14.1.4读取VisualStudio6项目 (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.1DLLHell的解决方案 (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.1CTS和CLS..38015.3.2语言无关性 (381)15.3.3CLS要求 (389)15.4全局程序集缓存 (391)15.4.1本机图像生成器 (391)15.4.2全局程序集缓存查看器 (392)15.4.3全局程序集缓存工具(gacutil.exe).39315.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.1Principal.45116.4.2WindowsPrincipal.45216.4.3角色 (454)16.4.4声明基于角色的安全性 (454)16.5小结 (455)第17章本地化 (456)17.1System.Globalization命名空间 (456)17.1.1Unicode问题 (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.3ResourceWriter.46817.2.4使用资源文件 (469)17.2.5System.Resources命名空间 (474)17.3使用VisualStudio的本地化示例 (475)17.3.1编程修改文化 (480)17.3.2使用定制资源文件 (481)17.3.3资源的自动回退 (482)17.3.4外包翻译 (482)17.4用本地化 (483)17.5定制的资源读取器 (485)17.5.1创建DatabaseResourceReader类.....485 17.5.2创建DatabaseResourceSet类.. (487)17.5.3创建DatabaseResourceManager类 (487)17.5.4DatabaseResourceReader的客户应用程序 (488)17.6创建定制文化 (489)17.7小结 (489)第18章部署 (490)18.1部署的设计 (490)18.2部署选项 (490)18.2.1Xcopy实用工具 (491)18.2.2CopyWeb工具 (491)18.2.3发布Web站点 (491)18.2.4部署项目 (491)18.2.5ClickOnce..49118.3部署的要求 (491)18.4简单的部署 (492)18.4.1Xcopy部署 (493)18.4.2Xcopy和Web应用程序 (493)18.4.3CopyWeb工具 (493)18.4.4发布Web站点 (494)18.5Installer项目 (494)18.5.1WindowsInstaller.49518.5.2创建安装程序 (495)18.6ClickOnce..50418.6.1ClickOnce操作 (504)18.6.2发布应用程序 (504)18.6.3ClickOnce设置 (505)18.6.4应用程序缓存 (505)18.6.5安全性 (506)18.6.6高级选项 (506)18.7小结 (511)第Ⅲ部分数据第19章.NET数据访问 (515)概述 (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.6XML模式 (544)19.7填充数据集 (552)19.7.1用数据适配器来填充DataSet.55219.7.2从XML中给数据集填充数据 (553)19.8保存对数据集的修改 (553)19.8.1通过数据适配器进行更新 (554)19.8.2写入XML输出结果 (556)19.9使用 (558)19.9.1分层开发 (558)19.9.2生成SQLServer的键 (559)19.9.3命名约定 (561)19.10小结 (562)第20章.NET编程和SQLServer2005..564运行库的主机 (564)20.2Microsoft.SqlServer.Server..56520.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.8XML数据类型 (581)20.8.1包含XML数据的表 (582)20.8.2数据的查询 (584)20.8.3XML数据修改语言(XMLDML).58520.8.4XML索引 (586)20.8.5强类型化的XML (587)20.9小结 (588)第21章处理XML..589支持的XML标准 (589)21.2System.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..60721.7.1System.Xml.Xpath命名空间 (607)21.7.2System.Xml.Xsl命名空间 (61)21.8XML和 (617)21.8.1将数据转换为XML文档 (617)21.8.2把XML文档转换为数据 (624)21.8.3读写DiffGram (626)21.9在XML中串行化对象 (629)21.10小结 (639)第22章使用ActiveDirectory.64022.1ActiveDirectory的体系结构 (640)22.1.1特性 (641)22.1.2ActiveDirectory的概念 (641)22.1.3ActiveDirectory数据的特性 (645)22.1.4模式 (645)22.2ActiveDirectory的管理工具 (646)22.2.1ActiveDirectoryUsersandComputers工具 (646)22.2.2ADSIEdit工具 (647)22.3ActiveDirectory编程 (648)22.3.1System.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在ActiveDirectory中搜索.. (660)22.4搜索用户对象 (663)22.4.1用户界面 (663)22.4.2获取模式命名环境 (664)22.4.3获取User类的属性名 (665)22.4.4搜索用户对象 (666)22.5DSML (668)22.5.1命名空间System.DirectoryServices.Protocols中的类 (668)22.5.2用DSML搜索ActiveDirectory对象 (669)22.6小结 (671)第Ⅳ部分Windows应用程序第23章Windows窗体 (675)23.1创建Windows窗体应用程序 (675)23.2Control类 (681)23.2.1大小和位置 (682)23.2.2外观 (683)23.2.3用户交互操作 (683)23.2.4Windows功能 (684)23.2.5杂项功能 (685)23.3标准控件和组件 (685)23.3.1Button控件 (686)23.3.2CheckBox控件 (686)23.3.3RadioButton控件 (687)23.3.4ComboBox控件、ListBox控件和CheckedListBox控件 (687)23.3.5DateTimePicker控件 (690)23.3.6ErrorProvider组件 (690)23.3.7HelpProvider组件 (691)23.3.8ImageList组件 (692)23.3.9Label控件 (692)23.3.10ListView控件 (692)23.3.11PictureBox控件 (694)23.3.12ProgressBar控件 (695)23.3.13TextBox控件、RichTextBox控件与MaskedTextBox 控件 (695)23.3.14Panel控件 (696)23.3.15FlowLayoutPanel和TableLayoutPanel控件 (696)23.3.16SplitContainer控件 (697)23.3.17TabControl控件和TabPages控件 (698)23.3.18ToolStrip控件 (698)23.3.19MenuStrip控件 (701)23.3.20ContextMenuStrip控件 (701)23.3.21ToolStripMenuItem控件 (701)23.3.22ToolStripManager类 (702)23.3.23ToolStripContainer控件 (702)23.4窗体 (702)23.4.1Form类 (703)23.4.2多文档界面 (708)23.4.3定制控件 (708)23.5小结 (721)第24章查看.NET数据 (722)24.1DataGridView控件 (722)24.1.1显示列表数据 (722)24.1.2数据源 (724)24.2DataGridView类的层次结构 (732)24.3数据绑定 (735)24.3.1简单的绑定 (735)24.3.2数据绑定对象 (735)和数据访问 (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.1GDI和GDI+ (758)25.1.2绘制图形 (760)25.1.3使用OnPaint()绘制图形 (763)25.1.4使用剪切区域 (764)25.2测量坐标和区域 (766)25.2.1Point和PointF结构 (766)25.2.2Size和SizeF结构 (767)25.2.3Rectangle和RectangleF结构 (769)25.2.4Region..77025.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.1Invalidate()方法 (796)25.15.2计算项和文档的大小 (797)25.15.3OnPaint().79925.15.4坐标转换 (800)25.15.5响应用户的输入 (802)25.16打印 (805)25.17小结 (810)第Ⅴ部分Web应用程序第26章页面 (813)概述 (813)Web窗体 (814)代码模型 (818)服务器控件 (818)和数据绑定 (833)26.3.1更新会议登记应用程序 (833)26.3.2数据绑定的更多内容 (840)26.4应用程序配置 (845)26.5小结 (847)第27章开发 (848)27.1定制控件 (848)27.1.1用户控件 (849)27.1.2PCSDemoSite中的用户控件 (855)27.1.3定制控件 (856)27.2Master页面 (860)27.3站点导航 (864)27.4安全性 (867)27.4.1使用安全向导添加Forms身份验证功能.....867 27.4.2实现登录系统.. (870)27.4.3Web登录服务器控件 (871)27.4.4保护目录 (872)27.4.5PCSDemoSite中的安全性 (872)27.5主题 (874)27.5.1把主题应用于页面 (875)27.5.2定义主题 (876)27.5.3PCSDemoSite中的主题 (876)27.6小结 (879)第Ⅵ部分通信第28章Web服务 (883)28.1SOAP (883)28.2WSDL (885)28.3Web服务 (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章.NETRemoting..908Remoting的含义 (908)29.1.1应用程序类型和协议 (909)29.1.2CLRObjectRemoting..909Remoting概述 (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)Remoting体系结构 (917)29.5.1信道 (918)29.5.2格式标识符 (922)29.5.3ChannelServices和RemotingConfiguration..922 29.5.4对象的激活 (924)29.5.5消息接收器 (927)29.5.6在远程方法中传递对象 (928)29.5.7生存期管理 (933)Remoting的其他特性 (936)29.6.1配置文件 (936)29.6.2利用驻留远程服务器 (946)29.6.3类、接口和Soapsuds..94829.6.4异步远程调用 (949)Remoting的安全性 (950)29.6.6远程调用和事件 (952)29.6.7调用环境 (958)29.7小结 (960)第30章EnterpriseServices.96130.1概述 (961)30.1.1EnterpriseServices简史 (961)30.1.2使用EnterpriseServices的场合 (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.96530.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.4ComponentServices浏览器 (969)30.5客户应用程序 (971)30.6事务处理 (971)30.6.1ACID属性 (972)30.6.2事务处理的属性 (972)30.6.3事务处理的结果 (973)30.7示例应用程序 (973)30.7.1实体类 (974)30.7.2OrderControl组件 (978)30.7.3OrderData组件 (978)30.7.4OrderLineData组件 (981)30.7.5客户应用程序 (983)30.8没有组件的服务 (984)30.9小结 (986)第31章消息队列 (988)31.1概述 (988)31.1.1使用MessageQueuing的场合 (989)31.1.2MessageQueuing特性 (990)31.2MessageQueuing产品 (990)31.3MessageQueuing结构 (991)31.3.1消息 (991)31.3.2消息队列 (992)31.4MessageQueuing管理工具 (992)31.4.1创建消息队列 (992)31.4.2消息队列属性 (993)31.5MessageQueuing的编程实现 (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.2Web服务 (1016)32.2.1安全性 (1017)32.2.2可靠性 (1018)32.2.3事务处理 (1020)32.2.4性能 (1021)32.3WCF概述 (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)Remoting..1032Web服务 (1033)32.5.3EnterpriseServices..103332.5.4MessageQueuing..103432.6小结 (1035)第Ⅶ部分互操作性第33章COM的互操作性 (1039)和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创建RuntimeCallableWrapper.105033.3.3线程问题 (1053)33.3.4添加连接点 (1053)33.3.5在Windows窗体中使用ActiveX控件 (1055)33.3.6在中使用COM对象 (1058)33.4在COM客户程序中使用.NET组件 (1058)33.4.1COMCallableWrapper.105833.4.2创建.NET组件 (1059)33.4.3创建类型库 (1060)33.4.4COM互操作特性 (1062)33.4.5COM注册 (1065)33.4.6创建COM客户程序 (1066)33.4.7添加连接点 (1068)33.4.8用sink对象创建客户程序 (1069)33.4.9在InternetExplorer中运行Windows窗体控件 (1070)33.5小结 (1070)第Ⅷ部分Windows基本服务第34章文件和注册表操作 (1073)34.1管理文件系统 (1073)34.1.1表示文件和文件夹的.NET类 (1074)34.1.2Path类 (1077)34.1.3示例:文件浏览器 (1077)34.2移动、复制和删除文件 (1082)34.2.1FilePropertiesAndMovement示例 (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)注册表类 (1112)34.6.3SelfPlacingWindow示例 (1115)34.7小结 (1121)第35章访问Internet112235.1WebClient类 (1122)35.1.1下载文件 (1123)35.1.2基本的Web客户示例 (1123)35.1.3上传文件 (1124)35.2WebRequest类和WebResponse类 (1125)35.3把输出结果显示为HTML页面 (1128)35.3.1在应用程序中进行简单的Web浏览 (1128)35.3.2启动InternetExplorer实例 (1130)35.3.3给应用程序提供更多的IE类型特性 (1131)35.3.4使用WebBrowser控件显示文档 (1137)35.3.5使用WebBrowser控件打印 (1138)35.3.6显示请求页面的代码 (1138)35.3.7WebRequest和WebResponse的层次结构 (1140)35.4实用工具类 (1140)35.4.1URI.114035.4.2IP地址和DNS名称 (1141)35.5较低层的协议 (1144)35.6小结 (1150)第36章Windows服务 (1151)36.1Windows服务......1151 36.2Windows服务的体系结构 (1152)36.2.1服务程序 (1152)36.2.2服务控制程序 (1153)36.2.3服务配置程序 (1154)36.3System.ServiceProcess命名空间 (1154)36.4创建Windows服务 (1154)36.4.1使用套接字的类库 (1155)36.4.2TcpClient示例 (1159)36.4.3Windows服务项目 (1160)36.4.4线程和服务 (1166)36.4.5服务的安装 (1166)36.4.6安装程序 (1166)36.5服务的监视和控制 (1171)36.5.1MMC计算机管理 (1171)36.5.2net.exe..117236.5.3sc.exe..117336.5.4VisualStudioServerExplorer.117336.5.5ServiceController类 (1174)36.6故障排除 (1179)36.6.1交互式服务 (1180)36.6.2事件日志 (1181)36.6.3性能监视 (1186)36.7电源事件 (1190)36.8小结 (1191)前言对于开发人员来说,把C#语言及其相关环境.NETFramework 描述为多年来最重要的新技术一点都不夸张。