C#2005&.NET3.0高级编程
C#2005&.NET3.0高级编程
版权信息
书 名: C#2005&.NET3.0高级编程
作 者:内格尔(NagelC.)(美)等 李铭 译
出版社: 清华大学出版社
出版时间: 2007
ISBN: 9787302164517
开本: 16
定价: 158.00 元
内容简介
《C#2005&.NET3.0高级编程》(第5版)(上下卷)在详尽论述C#2005的基础上,又增加了.NET3.0Framework的新特性,更加完善了C#的技术。是缺乏C#或.NET编程经验,但有其他语言编程经验的开发人员,以及了解.NET2.0,而且对.NET3.0和VisualStudio2005有兴趣的程序员全面掌握C#的首选教程。
作者简介
译者简介:
李铭,信息管理专业硕士,拥有近8年的系统开发经验,曾开发过监考系统、宽带教学系统、人员管理系统和综合业务系统等,现就职于某部队研究所,从事.NET、Oracle和Linux等方面的开发和管理工作,曾发表过多篇计算机专业论文,也翻译和编写过几部著作。
编辑推荐
《C#2005&.NET3.0高级编程》(第5版)(上下卷)为C#经典名著!是Wrox红皮书中最畅销的品种之一。从第1版开始就名满天下;其第3版被评选为2005年最权威的十大IT图书之一;并荣获“2005年度引进版科技类优秀图书”奖。更可贺的是,其第4版又荣获“2006年最受读者喜爱的十大技术开发类图书”!
目录
上卷
第Ⅰ部分C#语言
第1章.NET体系结构3
1.1C#与.NET的关系3
1.2公共语言运行库4
1.3中间语言7
1.3.1面向对象和接口的支持7
1.3.2相异值类型和引用类型8
1.3.3强数据类型8
1.3.4通过异常处理错误14
1.3.5特性的使用15
1.4程序集15
1.4.1私有程序集16
1.4.2共享程序集16
1.4.3反射17
1.5.NETFramework类17
1.6命名空间18
1.7用C#创建.NET应用程序18
1.7.1创建ASP.NET应用程序19
1.7.2创建Windows窗体21
1.7.3使用WindowsPresentationFoundation(WPF)21
1.7.4Windows控件21
1.7.5Windows服务21
1.7.6WindowsCommunicationFoundation(WCF)22
1.8C#在.NET企业体系结构
中的作用22
1.9小结23
第2章C#基础25
2.1引言25
2.2第一个C#程序26
2.2.1代码26
2.2.2编译并运行程序26
2.2.3详细介绍27
2.3变量29
2.3.1变量的初始化30
2.3.2变量的作用域31
2.3.3常量33
2.4预定义数据类型34
2.4.1值类型和引用类型34
2.4.2CTS类型35
2.4.3预定义的值类型36
2.4.4预定义的引用类型39
2.5流控制41
2.5.1条件语句41
2.5.2循环45
2.5.3跳转语句49
2.6枚举50
2.7数组52
2.8命名空间53
2.8.1using语句54
2.8.2命名空间的别名55
2.9Main()方法55
2.9.1多个Main()方法56
2.9.2给Main()方法传送参数57
2.10有关编译C#文件的更多内容57
2.11控制台I/O59
2.12使用注释61
2.12.1源文件中的内部注释61
2.12.2XML文档说明61
2.13C#预处理器指令63
2.13.1#define和#undef64
2.13.2#if,#elif,#else和#endif64
2.13.3#warning和#error65
2.13.4#region和#endregion66
2.13.5#line66
2.13.6#pragma66
2.14C#编程规则67
2.14.1用于标识符的规则67
2.14.2用法约定68
2.15小结73
第3章对象和类型75
3.1类和结构75
3.2类成员76
3.2.1数据成员77
3.2.2函数成员77
3.2.3只读字段90
3.3结构91
3.3.1结构是值类型93
3.3.2结构和继承94
3.3.3结构的构造函数94
3.4部分类95
3.5静态类96
3.6Object类97
3.6.1System.Object方法97
3.6.2ToString()方法98
3.7小结100
第4章继承101
4.1继承的类型101
4.1.1实现继承和接口继承101
4.1.2多重继承102
4.1.3结构和类102
4.2实现继承102
4.2.1虚方法103
4.2.2隐藏方法104
4.2.3调用函数的基类版本105
4.2.4抽象类和抽象函数106
4.2.5密封类和密封方法107
4.2.6派生类的构造函数108
4.3修饰符112
4.3.1可见性修饰符112
4.3.2其他修饰符113
4.4接口114
4.4.1定义和实现接口115
4.4.2派生的接口119
4.5小结120
第5章数组121
5.1简单数组121
5.1.1数组的声明121
5.1.2数组的初始化121
5.1.3访问数组元素122
5.1.4使用引用类型123
5.2多维数组125
5.3锯齿数组126
5.4Array类127
5.4.1属性127
5.4.2创建数组128
5.4.3复制数组129
5.4.4排序130
5.5数组和集合接口132
5.5.1IEumerable接口132
5.5.2ICollection接口133
5.5.3IList接口133
5.6枚举134
5.6.1IEnumerator接口134
5.6.2foreach语句135
5.6.3yield语句135
5.7小结140
第6章运算符和类型强制转换141
6.1运算符141
6.1.1运算符的简化操作143
6.1.2三元运算符144
6.1.3checked和unchecked运算符144
6.1.4is运算符145
6.1.5as运算符145
6.1.6sizeof运算符146
6.1.7typeof运算符146
6.1.8可空类型和运算符146
6.1.9空接合运算符147
6.1.10运算符的优先级147
6.2类型的安全性148
6.2.1类型转换148
6.2.2装箱和拆箱152
6.3对象的相等比较153
6.3.1引用类型的相等比较153
6.3.2值类型的相等比较154
6.4运算符重载155
6.4.1运算符的工作方式156
6.4.2运算符重载的示例:Vector结构157
6.5用户定义的数据类型转换164
6.5.1执行用户定义的类型转换165
6.5.2多重数据类型转换171
6.6小结175
第7章委托和事件177
7.1委托177
7.1.1在C#中声明委托178
7.1.2在C#中使用委托179
7.2委托推断182
7.3匿名方法182
7.3.1简单的委托示例184
7.3.2BubbleSorter示例186
7.3.3多播委托189
7.4事件192
7.4.1从客户的角度讨论事件193
7.4.2生成事件196
7.5小结199
第8章字符串和正则表达式201
8.1System.String类201
8.1.1创建字符串203
8.1.2StringBuilder成员205
8.1.3格式化字符串206
8.2正则表达式212
8.2.1正则表达式概述212
8.2.2RegularExpressions
Playaround示例213
8.2.3显示结果216
8.2.4匹配、组合和捕获217
8.3小结219
第9章泛型221
9.1概述221
9.1.1性能222
9.1.2类型安全223
9.1.3二进制代码的重用223
9.1.4代码的扩展224
9.1.5命名约定224
9.2创建泛型类224
9.3泛型类的特性229
9.3.1默认值230
9.3.2约束230
9.3.3继承233
9.3.4静态成员234
9.4泛型接口234
9.5泛型方法235
9.6泛型委托237
9.6.1执行委托调用的方法237
9.6.2对Array类使用泛型委托239
9.7Framework的其他泛型类型242
9.7.1结构Nullable242
9.7.2EventHandler243
9.7.3ArraySegment244
9.8小结245
第10章集合247
10.1集合接口和类型247
10.2列表249
10.2.1创建列表251
10.2.2只读集合260
10.3队列260
10.4栈264
10.5链表266
10.6有序表273
10.7字典275
10.7.1键的类型275
10.7.2字典示例277
10.7.3其他字典类280
10.8带多个键的字典281
10.9位数组286
10.9.1BitArray286
10.9.2BitVector32289
10.10性能291
10.11小结292
第11章内存管理和指针293
11.1后台内存管理293
11.1.1值数据类型293
11.1.2引用数据类型295
11.1.3垃圾收集297
11.2释放未托管的资源298
11.2.1析构函数298
11.2.2IDisposable接口300
11.2.3实现IDisposable接口和析构函数301
11.3不安全的代码303
11.3.1指针303
11.3.2指针示例:PointerPlayaround312
11.3.3使用指针优化性能317
11.4小结320
第12章反射321
12.1定制特性322
12.1.1编写定制特性322
12.1.2定制特性示例:WhatsNewAttributes326
12.2反射329
12.2.1System.Type类329
12.2.2TypeView示例331
12.2.3Assembly类334
12.2.4完成WhatsNewAttributes示例336
12.3小结340
第13章错误和异常341
13.1错误和异常处理341
13.1.1异常类342
13.1.2捕获异常343
13.1.3用户定义的异常类353
13.2小结360
第Ⅱ部分VisualStudio
第14章VisualStudio2005363
14.1使用VisualStudio2005363
14.1.1创建项目368
14.1.2解决方案和项目374
14.1.3Windows应用程序代码377
14.1.4读取VisualStudio6项目377
14.1.5项目的浏览和编码378
14.1.6生成项目388
14.1.7调试392
14.2修订功能394
14.3VisualStudio2005for.NETFramework3.0396
14.3.1.NET3.0的项目类型397
14.3.2在VisualStudio中建立WPF应用程序398
14.3.3在VisualStudio中建立WF应用程序400
14.4小结401
第15章部署403
15.1部署的设计403
15.2部署选项404
15.2.1Xcopy实用工具404
15.2.2CopyWeb工具404
15.2.3发布Web站点404
15.2.4部署项目404
15.2.5ClickOnce404
15.3部署的要求404
15.4部署.NET运行库405
15.5简单的部署406
15.5.1Xcopy部署407
15.5.2Xcopy和Web应用程序407
15.5.3CopyWeb工具407
15.5.4发布Web站点407
15.6Installer项目408
15.6.1WindowsInstaller409
15.6.2创建安装程序409
15.7ClickOnce418
15.7.1ClickOnce操作418
15.7.2发布应用程序419
15.7.3ClickOnce设置419
15.7.4应用程序缓存420
15.7.5安全性420
15.7.6高级选项421
15.8小结426
第Ⅲ部分基类库
第16章程序集429
16.1程序集的含义429
16.1.1DLLHell的解决方案430
16.1.2程序集的特性430
16.1.3应用程序域和程序集431
16.2程序集的结构434
16.2.1程序集的清单434
16.2.2命名空间、程序集和组件435
16.2.3私有程序集和共享程序集435
16.2.4查看程序集436
16.2.5构建程序集437
16.3跨语言支持441
16.3.1CTS和CLS441
16.3.2语言无关性442
16.3.3CLS要求451
16.4全局程序集缓存452
16.4.1本机图像生成器452
16.4.2全局程序集缓存查看器453
16.4.3全局程序集缓存工具(gacutil.exe)455
16.5创建共享程序集455
16.5.1共享程序集名455
16.5.2创建共享程序集458
16.6配置463
16.6.1配置类别463
16.6.2版本问题464
16.6.3配置目录472
16.7小结474
第17章跟踪和事件477
17.1跟踪477
17.1.1跟踪源478
17.1.2跟踪开关479
17.1.3跟踪监听器480
17.1.4过滤器483
17.1.5断言484
17.2事件日志485
17.2.1事件日志体系架构486
17.2.2事件日志类487
17.2.3创建事件源488
17.2.4写入事件日志489
17.2.5资源文件489
17.3性能监控494
17.3.1性能监控类494
17.3.2性能计数器的构建495
17.3.3添加PerformanceCounter组件496
17.3.4perfmon.exe498
17.4小结499
第18章线程和同步501
18.1概述501
18.2异步委托503
18.2.1投票503
18.2.2等待句柄504
18.2.3异步回调505
18.3Thread类506
18.3.1给线程传送数据508
18.3.2后台线程510
18.3.3线程的优先级511
18.3.4控制线程511
18.4线程池512
18.5线程问题513
18.5.1竞态条件513
18.5.2死锁516
18.6同步518
18.6.1lock语句和线程安全518
18.6.2Interlocked524
18.6.3Monitor类525
18.6.4等待句柄526
18.6.5Mutex类527
18.6.6Semaphore类529
18.6.7Events类531
18.7COM单元533
18.8BackgroundWorker组件534
18.8.1激活取消功能537
18.8.2激活进度功能538
18.9小结540
第19章.NET的安全性541
19.1代码访问的安全性541
19.1.1代码组542
19.1.2代码访问权限和权限集548
19.1.3策略的级别:Machine、
User和Enterprise552
19.2对Framework中安全性的支持554
19.2.1要求权限555
19.2.2请求权限556
19.2.3隐式的权限559
19.2.4拒绝权限560
19.2.5断言权限561
19.2.6创建代码访问权限562
19.2.7声明的安全性563
19.3安全策略的管理564
19.3.1安全配置文件564
19.3.2代码组和权限的管理567
19.3.3安全性的启用和禁用568
19.3.4重置安全策略568
19.3.5代码组的创建568
19.3.6代码组的删除569
19.3.7代码组权限的更改569
19.3.8权限集的创建和应用570
19.3.9使用强名发布代码572
19.3.10使用证书发布代码574
19.3.11区域的管理580
19.4基于角色的安全性582
19.4.1Principal582
19.4.2WindowsPrincipal583
19.4.3角色585
19.4.4声明基于角色的安全性585
19.5小结586
第20章本地化587
20.1System.Globalization命名空间587
20.1.1Unicode问题588
20.1.2文化和区域588
20.1.3使用文化593
20.1.4排序597
20.2资源599
20.2.1创建资源文件599
20.2.2资源文件生成器599
20.2.3ResourceWriter600
20.2.4使用资源文件601
20.2.5System.Resources命名空间605
20.3使用VisualStudio的本地化示例606
20.3.1编程修改文化611
20.3.2使用定制资源文件612
20.3.3资源的自动回退613
20.3.4外包翻译614
20.4用ASP.NET本地化615
20.5定制的资源读取器616
20.5.1创建DatabaseResource-Reader类617
20.5.2创建DatabaseResource-Set类619
20.5.3创建DatabaseResource-Manager类619
20.5.4DatabaseResourceReader的客户应用程序620
20.6创建定制文化621
20.7小结622
第21章事务处理623
21.1概述623
21.1.1事务处理阶段624
21.1.2ACID属性625
21.2数据库和类625
21.3传统的事务处理627
21.3.1ADO.NET事务处理628
21.3.2System.Enterprise-Services629
21.4System.Transactions630
21.4.1可提交的事务处理632
21.4.2事务处理的升级634
21.4.3依赖的事务处理636
21.4.4环境事务处理638
21.4.5嵌套的作用域和环境事务处理640
21.5隔离级别641
21.6定制资源管理器643
21.7WindowsVista的事务处理650
21.8小结653
第22章Windows服务655
22.1Windows服务655
22.2Windows服务的体系结构656
22.2.1服务程序657
22.2.2服务控制程序658
22.2.3服务配置程序658
22.3System.ServiceProcess命名空间658
22.4创建Windows服务659
22.4.1使用套接字的类库659
22.4.2TcpClient示例663
22.4.3Windows服务项目665
22.4.4线程和服务671
22.4.5服务的安装671
22.4.6安装程序671
22.5服务的监视和控制676
22.5.1MMC计算机管理676
22.5.2net.exe677
22.5.3sc.exe678
22.5.4VisualStudioServer-Explorer679
22.5.5ServiceController类679
22.6故障排除686
22.6.1交互式服务687
22.6.2事件日志688
22.7电源事件688
22.8小结689
第23章COM的互操作性691
23.1.NET和COM691
23.1.1元数据692
23.1.2释放内存692
23.1.3接口693
23.1.4方法绑定694
23.1.5数据类型695
23.1.6注册695
23.1.7线程695
23.1.8错误处理697
23.1.9事件处理697
23.2编组698
23.3在.NET客户程序中使用COM组件699
23.3.1创建COM组件699
23.3.2创建RuntimeCallable-Wrapper704
23.3.3使用RCW705
23.3.4可交互操作的主程序集707
23.3.5线程问题707
23.3.6添加连接点708
23.3.7在Windows窗体中使用ActiveX控件710
23.3.8在ASP.NET中使用COM对象714
23.4在COM客户程序中使用.NET组件714
23.4.1COMCallableWrapper714
23.4.2创建.NET组件715
23.4.3创建类型库716
23.4.4COM互操作特性718
23.4.5COM注册721
23.4.6创建COM客户程序721
23.4.7添加连接点723
23.4.8用sink对象创建客户程序724
23.4.9在InternetExplorer中运行Windows窗体控件725
23.5平台调用725
23.6小结728
第Ⅳ部分数据
第24章文件和注册表操作731
24.1管理文件系统731
24.1.1表示文件和文件夹的.NET类732
24.1.2Path类735
24.1.3示例:文件浏览器735
24.2移动、复制和删除文件740
24.2.1FilePropertiesAnd-Movement示例741
24.2.2示例FilePropertiesAnd-Movement的代码742
24.3读写文件745
24.3.1读取文件745
24.3.2写入文件747
24.3.3流748
24.3.4缓存的流750
24.3.5使用FileStream类读写二进制文件750
24.3.6读写文本文件755
24.4读取驱动器信息761
24.5文件的安全性763
24.5.1从文件中读取ACL764
24.5.2从目录中读取ACL765
24.5.3添加和删除文件中的ACL项766
24.6读写注册表768
24.6.1注册表768
24.6.2.NET注册表类770
24.6.3SelfPlacingWindow示例773
24.7读写独立存储器778
24.8小结783
第25章.NET数据访问785
25.1ADO.NET概述785
25.1.1命名空间786
25.1.2共享类786
25.1.3数据库特定的类787
25.2使用数据库连接788
25.2.1管理连接字符串789
25.2.2高效地使用连接791
25.2.3事务处理793
25.3命令794
25.3.1执行命令795
25.3.2调用存储过程799
25.4快速数据访问:数据读取器802
25.5管理数据和关系:DataSet类805
25.5.1数据表805
25.5.2数据列806
25.5.3数据关系811
25.5.4数据约束813
25.6XML模式815
25.7填充数据集822
25.7.1用数据适配器来填充DataSet822
25.7.2从XML中给数据集填充数据823
25.8保存对数据集的修改824
25.8.1通过数据适配器进行更新824
25.8.2写入XML输出结果826
25.9使用ADO.NET828
25.9.1分层开发828
25.9.2生成SQLServer的键829
25.9.3命名约定831
25.10小结833
第26章处理XML835
26.1.NET支持的XML标准836
26.2System.Xml命名空间836
26.3在.NET中使用MSXML837
26.4使用System.Xml类839
26.5读写流格式的XML839
26.5.1使用XmlReader类840
26.5.2使用XmlReader类
进行验证843
26.5.3使用XmlWriter类845
26.6在.NET中使用DOM847
26.7使用XPathNavigator852
26.7.1System.Xml.XPath命名空间853
26.7.2System.Xml.Xsl命名空间858
26.8XML和ADO.NET863
26.8.1将ADO.NET数据转换为XML文档863
26.8.2把XML文档转换为ADO.NET数据870
26.8.3读写DiffGram872
26.9在XML中串行化对象875
26.10小结884
第27章.NET编程和SQL
Server2005885
27.1.NET运行库的主机885
27.2Microsoft.SqlServer.Server887
27.3用户定义的类型888
27.3.1创建UDT888
27.3.2使用UDT893
27.3.3在客户端代码中使用UDT894
27.4用户定义的合计函数895
27.4.1创建用户定义的合计函数895
27.4.2使用用户定义的合计函数897
27.5存储过程897
27.5.1创建存储过程898
27.5.2使用存储过程899
27.6用户定义的函数900
27.6.1创建用户定义的函数900
27.6.2使用用户定义的函数901
27.7触发器901
27.7.1创建触发器902
27.7.2使用触发器903
27.8XML数据类型903
27.8.1包含XML数据的表904
27.8.2数据的查询906
27.8.3XML数据修改语言(XMLDML)908
27.8.4XML索引909
27.8.5强类型化的XML910
27.9小结911
下卷
第Ⅴ部分显示
第28章Windows窗体915
28.1创建Windows窗体应用程序915
28.2Control类921
28.2.1大小和位置922
28.2.2外观923
28.2.3用户交互操作924
28.2.4Windows功能925
28.2.5杂项功能925
28.3标准控件和组件925
28.3.1Button控件926
28.3.2CheckBox控件927
28.3.3RadioButton控件927
28.3.4ComboBox控件、ListBox控件和CheckedListBox控件928
28.3.5DateTimePicker控件930
28.3.6ErrorProvider组件930
28.3.7HelpProvider组件932
28.3.8ImageList组件932
28.3.9Label控件932
28.3.10ListView控件933
28.3.11PictureBox控件935
28.3.12ProgressBar控件935
28.3.13TextBox控件、RichTextBox控件与MaskedTextBox控件935
28.3.14Panel控件937
28.3.15FlowLayoutPanel和TableLayoutPanel控件937
28.3.16SplitContainer控件938
28.3.17TabControl控件和TabPages控件938
28.3.18ToolStrip控件938
28.3.19MenuStrip控件941
28.3.20ContextMenuStrip控件942
28.3.21ToolStripMenuItem控件942
28.3.22ToolStripManager类942
28.3.23ToolStripContainer控件942
28.4窗体943
28.4.1Form类943
28.4.2多文档界面948
28.4.3定制控件949
28.5小结960
第29章查看.NET数据961
29.1DataGridView控件961
29.1.1显示列表数据961
29.1.2数据源963
29.2DataGridView类的29.3数据绑定974
29.3.1简单的绑定975
29.3.2数据绑定对象975
29.4VisualStudio.NET和数据访问979
29.4.1创建一个连接980
29.4.2选择数据983
29.4.3更新数据源983
29.4.4其他常见的要求984
29.5小结992
第30章使用GDI+绘图993
30.1理解绘图规则993
30.1.1GDI和GDI+994
30.1.2绘制图形995
30.1.3使用OnPaint()绘制图形998
30.1.4使用剪切区域999
30.2测量坐标和区域1001
30.2.1Point和PointF结构1001
30.2.2Size和SizeF结构1003
30.2.3Rectangle和RectangleF结构1004
30.2.4Region1005
30.3调试须知1006
30.4绘制可滚动的窗口1007
30.5世界、页面和设备坐标1011
30.6颜色1012
30.6.1红绿蓝(RGB)值1012
30.6.2命名的颜色1013
30.6.3图形显示模式和安全的调色板1014
30.6.4安全调色板1014
30.7画笔和钢笔1015
30.7.1画笔1015
30.7.2钢笔1016
30.8绘制图形和线条1016
30.9显示图像1019
30.10处理图像时所涉及到的问题102130.11绘制文本1022
30.12简单的文本示例1022
30.13字体和字体系列1023
30.14示例:枚举字体系列1025
30.15编辑文本文档:CapsEditor示例1027
30.15.1Invalidate()方法1031
30.15.2计算项和文档的大小1032
30.15.3OnPaint()1034
30.15.4坐标转换1035
30.15.5响应用户的输入1036
30.16打印1039
30.17小结1045
第31章WindowsPresentation-Foundation1047
31.1概述1047
31.1.1XAML1048
31.1.2设计人员和开发人员的合作1052
31.1.3类层次结构1053
31.1.4命名空间1055
31.2形状1056
31.3控件1059
31.3.1简单控件1059
31.3.2内容控件1060
31.3.3有标题的内容控件1062
31.3.4项控件1063
31.3.5带标题的项控件1063
31.4布局1063
31.4.1StackPanel1064
31.4.2WrapPanel1064
31.4.3Canvas1065
31.4.4DockPanel1066
31.4.5Grid1067
31.5事件处理1068
31.6命令1069
31.7样式、模板和资源1072
31.7.1样式1073
31.7.2资源1074
31.7.3创建列表框的样式1087
31.8动画1093
31.9数据绑定1099
31.9.1概述1099
31.9.2用XAML绑定1100
13.9.3简单对象的绑定1102
31.9.4对象数据提供程序1105
31.9.5列表绑定1107
31.9.6绑定到XML上1114
31.10Windows窗体集成1117
31.10.1Windows窗体中的WPF控件1117
31.10.2WPF应用程序中的Windows窗体控件1119
31.11小结1121
第32章ASP.NET页面1123
32.1ASP.NET概述1123
32.2ASP.NETWeb窗体1125
32.2.1ASP.NET代码模型1128
32.2.2ASP.NET服务器控件1129
32.3ADO.NET和数据绑定1143
32.3.1更新会议登记应用程序1144
32.3.2数据绑定的更多内容1151
32.4应用程序配置1156
32.5小结1158
第33章ASP.NET开发1159
33.1定制控件1159
33.1.1用户控件1160
33.1.2PCSDemoSite中的用户控件1167
33.1.3定制控件1167
33.2Master页面1171
33.2.1在Web页面中访问Master页面1173
33.2.2PCSDemoSite中的Master页面1173
33.3站点导航1175
33.4安全性1178
33.4.1使用安全向导添加Forms身份验证功能1179
33.4.2实现登录系统1182
33.4.3Web登录服务器控件1183
33.4.4保护目录1183
33.4.5PCSDemoSite中的安全性1184
33.5主题1186
33.5.1把主题应用于页面1186
33.5.2定义主题1187
33.5.3PCSDemoSite中的主题1188
33.6WebParts1191
33.6.1WebParts应用程序组件1191
33.6.2WebParts示例1193
33.7小结1199
第34章ASP.NETAJAX1201
34.1Ajax的概念1202
34.2ASP.NETAJAX1203
34.2.1核心功能1204
34.2.2ASP.NETAJAXControlToolkit1206
34.2.3ASP.NET2.0AJAXFuturesCTP1207
34.3支持ASP.NETAJAX的网站1207
34.3.1支持AJAX的网站示例1207
34.3.2支持ASP.NETAJAX的网站配置1211
34.3.3添加ASP.NETAJAX功能1215
34.3.4使用AJAX库1222
34.4小结1231
第Ⅵ部分通信
第35章访问Internet1235
35.1WebClient类1235
35.1.1下载文件1236
35.1.2基本的Web客户示例1236
35.1.3上传文件1237
35.2WebRequest类和WebResponse类1238
35.3把输出结果显示为HTML页面1241
35.3.1在应用程序中进行简单的Web浏览1241
35.3.2启动InternetExplorer实例1243
35.3.3给应用程序提供更多的IE类型特性1244
35.3.4使用WebBrowser控件打印1249
35.3.5显示请求页面的代码1250
35.3.6WebRequest和
WebResponse的层次结构1251
35.4实用工具类1252
35.4.1URI1252
35.4.2IP地址和DNS名称1253
35.5较低层的协议1255
35.6小结1264
第36章Web服务和ASP.NET1267
36.1SOAP1267
36.2WSDL1269
36.3Web服务1270
36.3.1创建Web服务1270
36.3.2使用Web服务1274
36.4扩充会议登记示例1276
36.4.1会议登记Web服务1276
36.4.2会议登记客户程序1281
36.5使用SOAP标题交换数据1285
36.6小结1290
第37章.NETRemoting1291
37.1.NETRemoting的含义1291
CLRObjectRemoting1293
37.2.NETRemoting概述1293
37.3环境1296
37.3.1激活1296
37.3.2特性和属性1297
37.3.3环境之间的通信1297
37.4远程对象、客户机和
服务器1297
37.4.1远程对象1298
37.4.2简单的服务器1298
37.4.3简单的客户机1299
37.5.NETRemoting体系结构1301
37.5.1信道1301
37.5.2格式标识符1305
37.5.3ChannelServices和RemotingConfiguration1306
37.5.4对象的激活1307
37.5.5消息接收器1311
37.5.6在远程方法中传递对象1311
37.5.7生存期管理1316
37.6.NETRemoting的其他特性1319
37.6.1配置文件1319
37.6.2利用ASP.NET驻留远程服务器1328
37.6.3类、接口和Soapsuds1329
37.6.4异步远程调用1330
37.6.5.NETRemoting的安全性1332
37.6.6远程调用和事件1333
37.6.7调用环境1339
37.7小结1341
第38章EnterpriseServices1343
38.1概述1343
38.1.1EnterpriseServices
简史1344
38.1.2使用EnterpriseServices的场合1344
38.1.3环境1345
38.1.4自动的事务处理1345
38.1.5分布式事务处理1346
38.1.6对象池1346
38.1.7基于角色的安全性1346
38.1.8排队的组件1346
38.1.9松散藕合的事件1347
38.2创建简单的COM+应用程序1347
38.2.1类ServicedComponent1347
38.2.2标记程序集1348
38.2.3程序集的属性1348
38.2.4创建组件1349
38.3部署1350
38.3.1自动部署1350
38.3.2手工部署1351
38.3.3创建安装软件包1351
38.4ComponentServices浏览器1352
38.5客户应用程序1354
38.6事务处理1355
38.6.1事务处理的属性1355
38.6.2事务处理的结果1356
38.7示例应用程序1356
38.7.1实体类1357
38.7.2OrderControl组件1360
38.7.3OrderData组件1361
38.7.4OrderLineData组件1364
38.7.5客户应用程序1365
38.8集成WCF和EnterpriseServices1366
38.8.1WCF服务Fa?ade1366
38.8.2客户程序1369
38.9小结1370
第39章消息队列1371
39.1概述1371
39.1.1使用MessageQueuing的场合1372
39.1.2MessageQueuing特性1373
39.2MessageQueuing产品1373
39.3MessageQueuing结构1374
39.3.1消息1374
39.3.2消息队列1375
39.4MessageQueuing管理工具1375
39.4.1创建消息队列1376
39.4.2消息队列属性1376
39.5MessageQueuing的编程实现1377
39.5.1创建消息队列1377
39.5.2查找队列1378
39.5.3打开已知的队列1379
39.5.4发送消息1380
39.5.5接收消息1383
39.6课程订单应用程序1385
39.6.1课程订单类库1385
39.6.2课程订单消息发送程序1388
39.6.3发送优先级和可恢复的消息1389
39.6.4课程订单消息接收程序1390
39.7接收结果1393
39.7.1确认队列1393
39.7.2响应队列1394
39.8事务队列1395
39.9消息队列的安装1396
39.10小结1396
第40章WindowsCommunicationFoundation1397
40.1概述1397
40.2简单的服务和客户1398
40.2.1服务合同1401
40.2.2服务的实现1402
40.2.3服务主机1403
40.2.4客户程序1405
40.3合同1408
40.3.1服务合同1408
40.3.2数据合同1409
40.3.3消息合同1410
40.4服务的实现1411
40.5绑定1416
40.6主机1418
40.7客户程序1419
40.8双向通信1421
40.9小结1423
第41章WindowsWorkflowFoundation1425
41.1HelloWorld示例1425
41.2活动1427
41.2.1IfElseActivity1427
41.2.2ParallelActivity1429
41.2.3CallExternalMethod-Activity1430
41.2.4DelayActivity1431
41.2.5ListenActivity1431
41.2.6活动的执行模型1432
41.3定制的活动1433
41.3.1活动的有效性验证1435
41.3.2主题和设计器1436
41.3.3ActivityToolboxItem和图标1438
41.3.4定制的复合活动1440
41.4工作流1447
41.4.1系列工作流1447
41.4.2状态机工作流1447
41.4.3给工作流传送参数1450
41.4.4从工作流中返回结果1450
41.4.5将参数绑定到活动上1451
41.5工作流运行库1452
41.6工作流服务1453
41.6.1持续服务1455
41.6.2跟踪服务1456
41.6.3定制服务1458
41.7保存工作流1459
41.8工作流设计器1461
41.9小结1461
41.10下载信息1461
第42章目录服务1463
42.1ActiveDirectory的体系结构1464
42.1.1特性1464
42.1.2ActiveDirectory的概念1464
42.1.3ActiveDirectory数据的特性1468
42.1.4模式1468
42.2ActiveDirectory的管理工具1469
42.2.1ActiveDirectoryUsers
andComputers工具1470
42.2.2ADSIEdit工具1471
42.3ActiveDirectory编程1472
42.3.1System.DirectoryServices命名空间中的类1473
42.3.2绑定1473
42.3.3获取目录项1477
42.3.4对象集合1478
42.3.5缓存1480
42.3.6创建新对象1480
42.3.7更新目录项1481
42.3.8访问内部的ADSI对象1482
42.3.9在ActiveDirectory中搜索1483
42.4搜索用户对象1486
42.4.1用户界面1486
42.4.2获取模式命名环境1487
42.4.3获取User类的属性名1488
42.4.4搜索用户对象1490
42.5DSML1491
42.5.1命名空间System.-DirectoryServices.-Protocols中的类1492
42.5.2用DSML搜索Active-Directory对象1492
42.6小结1494
第Ⅶ部分其他信息
第43章C#、VisualBasic和C++/CLI1497
43.1命名空间1498
43.2定义类型1499
43.2.1引用类型1499
43.2.2值类型1500
43.2.3接口1501
43.2.4枚举1502
43.3方法1503
43.3.1方法的参数和返回类型1503
43.3.2参数的修饰符1504
43.3.3构造函数1505
43.3.4属性1507
43.4静态成员1508
43.5数组1509
43.6控制语句1510
43.6.1if语句1510
43.6.2条件操作符1510
43.6.3switch语句1511
43.7循环1512
43.7.1for语句1512
43.7.2while和do..while语句1513
43.7.3foreach语句1514
43.8异常处理1514
43.9继承1516
43.9.1访问修饰符1516
43.9.2关键字1516
43.10资源管理1518
43.10.1IDisposable接口的实现1518
43.10.2using语句1519
43.10.3重写Finalize()1519
43.11委托1521
43.12事件1522
43.13泛型1524
43.14C++/CLI混合内置代码和托管代码1526
43.15小结1527
第44章WindowsVista1529
44.1VistaBridge1529
44.2用户账户控制1530
44.2.1需要管理权限的应用程序1530
44.2.2保护图标1532
44.3目录结构1533
44.4新控件和对话框1535
44.4.1命令链接1535
44.4.2任务对话框1536
44.4.3文件对话框1539
44.5搜索1541
44.5.1OLEDB提供程序1543
44.5.2高级查询语法1546
44.6小结1548
第45章LanguageIntegratedQuery1549
45.1传统的查询1549
45.1.1对象列表中的查询1550
45.1.2数据库查询1553
45.1.3XML1554
45.2LINQ查询1557
45.2.1对象列表1557
45.2.2关系数据1557
45.2.3XML1559
45.3查询表达式1560
45.4扩展方法1561
45.5标准的查询操作符1562
45.6λ表达式1567
45.7推迟查询的执行1568
45.8表达式树1570
45.9类型推断1571
45.10对象和集合初始化器1571
45.11匿名类型1573
45.12小结1573
……