您好,欢迎来到聚文网。 登录 免费注册
C#高级编程

C#高级编程

  • 字数: 2676000.0
  • 装帧: 平装
  • 出版社: 清华大学出版社
  • 作者: (美)内格尔(Christian Nagel) 等 著;李铭 译 著
  • 出版日期: 2014-10-01
  • 商品条码: 9787302380023
  • 版次: 1
  • 开本: 16开
  • 页数: 1520
  • 出版年份: 2014
定价:¥148 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
累计畅销16年,wrox精品红皮书,引领无数程序员进入程序开发殿堂
2009年度/2011年度全行业优秀畅销书,深受广大读者喜爱
2008年度优秀技术图书!
2007年度最畅销的C#销售图书!
2006年最受读者喜爱的十大技术开发类图书!
2005年最权威的十大IT图书之C#2010最新版! 
内容简介
本书由.NET专家的梦幻组合编写,包含开发人员使用C#所需的所有内容。C#是编写.NET应用程序的一种语言,本书适合于希望提高编程技巧的、有经验的C#程序员,也适用于刚开始使用C#的专业开发人员。本书探讨了VisualStudio2013和.NETFramework4.5.1、新的测试驱动开发和并发编程功能。所有示例的源代码都可以下载,读者可以立即开始编写Windows桌面应用程序、WindowsStore应用程序和ASP.NETWeb应用程序。
作者简介
Christian Nagel,是MicrosoftRD、MicrosoftMVP、thinktecture的合作伙伴、CN革新技术的奠基人,他还是一位软件架构师和开发人员,为开发Microsoft.NET解决方案提供培训和咨询服务。他具备超过25年的软件开发经验。Christian从PDP11和VAX/VMS系统开始其计算机生涯,熟悉各种语言和平台。他具备Microsoft技术的深厚功底,编写了大量图书,并获得了Microsoft认证培训师和专业开发人员证书。
Jay Glynn开发软件的时间超过20年,使用PICKBasic为PICK操作系统编写应用程序。到目前为止,他使用过Delphi、VBA、VisualBasic、C、Java和C#编写软件。他目前是VGT的高级软件工程师,编写基于Web的应用程序。
Morgan Skinner,是一位自由顾问,他在开始自己的顾问生涯之前,在Microsoft工作了将近10年。
目录
第Ⅰ部分C#语言
第1章.NET体系结构2
1.1C#与.NET的关系2
1.2公共语言运行库3
1.2.1平台无关性3
1.2.2提高性能3
1.2.3语言的互操作性4
1.3中间语言6
1.3.1面向对象和接口的支持6
1.3.2不同的值类型和引用类型7
1.3.3强数据类型化7
1.3.4通过异常处理错误12
1.3.5特性的使用12
1.4程序集12
1.4.1私有程序集13
1.4.2共享程序集13
1.4.3反射14
1.4.4并行编程14
1.4.5异步编程14
1.5.NETFramework类15
1.6名称空间15
1.7用C#创建.NET应用程序16
1.7.1创建ASP.NET应用程序16
1.7.2使用WPF17
1.7.3WindowsStore应用程序18
1.7.4Windows服务18
1.7.5WCF18
1.7.6WindowsWF19
1.8C#在.NET企业体系结构中的作用19
1.9小结20
第2章核心C#22
2.1C#基础23
2.2第一个C#程序23
2.2.1代码23
2.2.2编译并运行程序23
2.2.3详细介绍24
2.3变量26
2.3.1变量的初始化26
2.3.2类型推断27
2.3.3变量的作用域28
2.3.4常量30
2.4预定义数据类型31
2.4.1值类型和引用类型31
2.4.2CTS类型32
2.4.3预定义的值类型32
2.4.4预定义的引用类型35
2.5流控制37
2.5.1条件语句37
2.5.2循环40
2.5.3跳转语句43
2.6枚举44
2.7名称空间46
2.7.1using语句47
2.7.2名称空间的别名48
2.8Main()方法48
2.8.1多个Main()方法49
2.8.2给Main()方法传递参数50
2.9有关编译C#文件的更多内容50
2.10控制台I/O52
2.11使用注释54
2.11.1源文件中的内部注释54
2.11.2XML文档54
2.12C#预处理器指令56
2.12.1#define和#undef57
2.12.2#if、#elif、#else和#endif57
2.12.3#warning和#error58
2.12.4#region和#endregion58
2.12.5#line59
2.12.6#pragma59
2.13C#编程规则59
2.13.1关于标识符的规则59
2.13.2用法约定60
2.14小结66
第3章对象和类型67
3.1创建及使用类67
3.2类和结构68
3.3类69
3.3.1数据成员69
3.3.2函数成员69
3.3.3只读字段81
3.4匿名类型82
3.5结构82
3.5.1结构是值类型84
3.5.2结构和继承84
3.5.3结构的构造函数85
3.6弱引用85
3.7部分类86
3.8静态类87
3.9Object类88
3.9.1System.Object()方法88
3.9.2ToString()方法89
3.10扩展方法90
3.11小结91
第4章继承92
4.1继承92
4.2继承的类型92
4.2.1实现继承和接口继承92
4.2.2多重继承93
4.2.3结构和类93
4.3实现继承93
4.3.1虚方法94
4.3.2隐藏方法95
4.3.3调用函数的基类版本96
4.3.4抽象类和抽象函数97
4.3.5密封类和密封方法97
4.3.6派生类的构造函数98
4.4修饰符102
4.4.1可见性修饰符103
4.4.2其他修饰符103
4.5接口104
4.5.1定义和实现接口105
4.5.2派生的接口108
4.6小结109
第5章泛型110
5.1泛型概述110
5.1.1性能111
5.1.2类型安全112
5.1.3二进制代码的重用112
5.1.4代码的扩展113
5.1.5命名约定113
5.2创建泛型类113
5.3泛型类的功能117
5.3.1默认值118
5.3.2约束118
5.3.3继承120
5.3.4静态成员121
5.4泛型接口122
5.4.1协变和抗变122
5.4.2泛型接口的协变123
5.4.3泛型接口的抗变125
5.5泛型结构125
5.6泛型方法128
5.6.1泛型方法示例128
5.6.2带约束的泛型方法129
5.6.3带委托的泛型方法130
5.6.4泛型方法规范131
5.7小结132
第6章数组133
6.1同一类型和不同类型的多个对象133
6.2简单数组134
6.2.1数组的声明134
6.2.2数组的初始化134
6.2.3访问数组元素135
6.2.4使用引用类型136
6.3多维数组137
6.4锯齿数组138
6.5Array类139
6.5.1创建数组139
6.5.2复制数组140
6.5.3排序141
6.6数组作为参数144
6.6.1数组协变144
6.6.2ArraySegment<T>144
6.7枚举145
6.7.1IEnumerator接口146
6.7.2foreach语句146
6.7.3yield语句147
6.8元组152
6.9结构比较152
6.10小结155
第7章运算符和类型强制转换156
7.1运算符和类型转换156
7.2运算符156
7.2.1运算符的简化操作158
7.2.2运算符的优先级162
7.3类型的安全性163
7.3.1类型转换163
7.3.2装箱和拆箱167
7.4比较对象的相等性168
7.4.1比较引用类型的相等性168
7.4.2比较值类型的相等性169
7.5运算符重载169
7.5.1运算符的工作方式170
7.5.2运算符重载的示例:Vector结构171
7.6用户定义的类型强制转换178
7.6.1实现用户定义的类型强制转换179
7.6.2多重类型强制转换185
7.7小结188
第8章委托、lambda表达式和事件189
8.1引用方法189
8.2委托190
8.2.1声明委托190
8.2.2使用委托191
8.2.3简单的委托示例194
8.2.4Action<T>和Func<T>委托196
8.2.5BubbleSorter示例197
8.2.6多播委托199
8.2.7匿名方法203
8.3lambda表达式204
8.3.1参数204
8.3.2多行代码205
8.3.3闭包205
8.3.4使用foreach语句的闭包206
8.4事件207
8.4.1事件发布程序207
8.4.2事件侦听器209
8.4.3弱事件210
8.5小结214
第9章字符串和正则表达式215
9.1System.String类216
9.1.1创建字符串217
9.1.2StringBuilder成员220
9.1.3格式字符串221
9.2正则表达式227
9.2.1正则表达式概述227
9.2.2RegularExpressionsPlayaround示例228
9.2.3显示结果230
9.2.4匹配、组合和捕获232
9.3小结233
第10章集合234
10.1概述235
10.2集合接口和类型235
10.3列表236
10.3.1创建列表238
10.3.2只读集合247
10.4队列247
10.5栈251
10.6链表252
10.7有序列表258
10.8字典259
10.8.1键的类型260
10.8.2字典示例261
10.8.3Lookup类265
10.8.4有序字典265
10.9集266
10.10可观察的集合268
10.11位数组269
10.11.1BitArray类270
10.11.2BitVector32结构272
10.12不变的集合274
10.13并发集合276
10.13.1创建管道277
10.13.2使用BlockingCollection279
10.13.3使用ConcurrentDictionary281
10.13.4完成管道282
10.14性能284
10.15小结285
第11章LINQ286
11.1LINQ概述286
11.1.1列表和实体287
11.1.2LINQ查询290
11.1.3扩展方法291
11.1.4推迟查询的执行292
11.2标准的查询操作符294
11.2.1筛选296
11.2.2用索引筛选296
11.2.3类型筛选297
11.2.4复合的from子句297
11.2.5排序298
11.2.6分组299
11.2.7对嵌套的对象分组300
11.2.8内连接301
11.2.9左外连接303
11.2.10组连接303
11.2.11集合操作306
11.2.12合并308
11.2.13分区309
11.2.14聚合操作符310
11.2.15转换操作符311
11.2.16生成操作符312
11.3并行LINQ313
11.3.1并行查询313
11.3.2分区器314
11.3.3取消314
11.4表达式树315
11.5LINQ提供程序318
11.6小结319
第12章动态语言扩展320
12.1DLR320
12.2dynamic类型321
12.3包含DLRScriptRuntime325
12.4DynamicObject和ExpandoObject328
12.4.1DynamicObject328
12.4.2ExpandoObject330
12.5小结331
第13章异步编程332
13.1异步编程的重要性332
13.2异步模式333
13.2.1同步调用340
13.2.2异步模式341
13.2.3基于事件的异步模式342
13.2.4基于任务的异步模式343
13.3异步编程的基础345
13.3.1创建任务345
13.3.2调用异步方法346
13.3.3延续任务346
13.3.4同步上下文347
13.3.5使用多个异步方法347
13.3.6转换异步模式348
13.4错误处理349
13.4.1异步方法的异常处理350
13.4.2多个异步方法的异常处理350
13.4.3使用AggregateException信息351
13.5取消352
13.5.1开始取消任务352
13.5.2使用框架特性取消任务352
13.5.3取消自定义任务353
13.6小结353
第14章内存管理和指针354
14.1内存管理354
14.2后台内存管理354
14.2.1值数据类型355
14.2.2引用数据类型356
14.2.3垃圾回收358
14.3释放非托管的资源360
14.3.1析构函数360
14.3.2IDisposable接口361
14.3.3实现IDisposable接口和析构函数362
14.4不安全的代码364
14.4.1用指针直接访问内存364
14.4.2指针示例:PointerPlayground373
14.4.3使用指针优化性能377
14.5小结380
第15章反射381
15.1在运行期间处理和检查代码381
15.2自定义特性382
15.2.1编写自定义特性382
15.2.2自定义特性示例:WhatsNewAttributes386
15.3反射388
15.3.1System.Type类388
15.3.2TypeView示例391
15.3.3Assembly类393
15.3.4完成WhatsNewAttributes示例394
15.4小结397
第16章错误和异常398
16.1简介398
16.2异常类399
16.3捕获异常400
16.3.1实现多个catch块402
16.3.2在其他代码中捕获异常406
16.3.3System.Exception属性406
16.3.4没有处理异常时所发生的情况406
16.3.5嵌套的try块407
16.4用户定义的异常类409
16.4.1捕获用户定义的异常410
16.4.2抛出用户定义的异常411
16.4.3定义用户定义的异常类414
16.5调用者信息416
16.6小结417
第Ⅱ部分VisualStudio
第17章VisualStudio2013419
17.1使用VisualStudio2013419
17.1.1项目文件的改进421
17.1.2VisualStudio的版本422
17.1.3VisualStudio设置423
17.2创建项目423
17.2.1面向多个版本的.NETFramework424
17.2.2选择项目类型426
17.3浏览并编写项目429
17.3.1SolutionExplorer429
17.3.2使用代码编辑器435
17.3.3学习和理解其他窗口437
17.3.4排列窗口441
17.4构建项目441
17.4.1构建、编译和生成441
17.4.2调试版本和发布版本442
17.4.3选择配置443
17.4.4编辑配置444
17.5调试代码445
17.5.1设置断点445
17.5.2使用数据提示和调试器可视化工具446
17.5.3监视和修改变量447
17.5.4异常448
17.5.5多线程449
17.5.6IntelliTrace449
17.6重构工具450
17.7体系结构工具451
17.7.1依赖项关系图452
17.7.2层关系图453
17.8分析应用程序454
17.8.1代码地图454
17.8.2序列图454
17.8.3探查器455
17.8.4ConcurrencyVisualizer457
17.8.5CodeAnalysis458
17.8.6CodeMetrics459
17.9单元测试459
17.9.1创建单元测试459
17.9.2运行单元测试460
17.9.3预期异常462
17.9.4测试全部代码路径462
17.9.5外部依赖463
17.9.6FakesFramework466
17.10WindowsStore应用程序、WCF、WF等467
17.10.1使用VisualStudio生成WCF应用程序467
17.10.2使用VisualStudio生成WF应用程序468
17.10.3使用VisualStudio2013生成WindowsStore应用程序469
17.11小结470
第18章部署471
18.1部署是应用程序生命周期的一部分471
18.2部署的规划472
18.2.1部署选项472
18.2.2部署要求472
18.2.3部署.NET运行库473
18.3传统的部署选项473
18.3.1xcopy部署474
18.3.2xcopy和Web应用程序475
18.3.3WindowsInstaller475
18.4ClickOnce475
18.4.1ClickOnce操作476
18.4.2发布ClickOnce应用程序476
18.4.3ClickOnce设置477
18.4.4ClickOnce文件的应用程序缓存479
18.4.5应用程序的安装479
18.4.6ClickOnce部署API480
18.5Web部署481
18.5.1Web应用程序481
18.5.2配置文件482
18.5.3创建WebDeploy包482
18.6WindowsStore应用程序483
18.6.1创建应用程序包484
18.6.2WindowsApp
CertificationKit485
18.6.3旁加载486
18.6.4Windows部署API486
18.7小结488
第Ⅲ部分基础
第19章程序集490
19.1程序集的含义490
19.1.1程序集的功能491
19.1.2程序集的结构492
19.1.3程序集清单492
19.1.4名称空间、程序集和组件493
19.1.5私有程序集和共享程序集493
19.1.6附属程序集493
19.1.7查看程序集493
19.2构建程序集494
19.2.1创建模块和程序集494
19.2.2程序集的特性495
19.2.3创建和动态加载程序集497
19.3应用程序域500
19.4共享程序集504
19.4.1强名504
19.4.2使用强名获得完整性505
19.4.3全局程序集缓存506
19.4.4创建共享程序集506
19.4.5创建强名507
19.4.6安装共享程序集508
19.4.7使用共享程序集508
19.4.8程序集的延迟签名509
19.4.9引用510
19.4.10本机映像生成器511
19.5配置.NET应用程序512
19.5.1配置类别512
19.5.2绑定程序集513
19.6版本问题514
19.6.1版本号515
19.6.2通过编程方式获取版本515
19.6.3绑定到程序集版本516
19.6.4发行者策略文件517
19.6.5运行库的版本518
19.7在不同的技术之间共享程序集519
19.7.1共享源代码519
19.7.2可移植类库520
19.8小结521
第20章诊断522
20.1诊断概述522
20.2代码协定523
20.2.1前提条件524
20.2.2后置条件525
20.2.3不变量526
20.2.4纯粹性527
20.2.5接口的协定527
20.2.6简写528
20.2.7协定和遗留代码529
20.3跟踪529
20.3.1跟踪源530
20.3.2跟踪开关532
20.3.3跟踪侦听器532
20.3.4筛选器534
20.3.5相关性535
20.3.6使用ETW进行跟踪539
20.3.7使用EventSource539
20.3.8使用EventSource进行高级跟踪541
20.4事件日志543
20.4.1事件日志体系结构543
20.4.2事件日志类544
20.4.3创建事件源546
20.4.4写入事件日志546
20.4.5资源文件547
20.5性能监视551
20.5.1性能监视类551
20.5.2性能计数器生成器551
20.5.3添加PerformanceCounter组件554
20.5.4perfmon.exe556
20.6小结557
第21章任务、线程和同步558
21.1概述558
21.2Parallel类560
21.2.1用Parallel.For()方法循环560
21.2.2使用Parallel.ForEach()方法循环563
21.2.3通过Parallel.Invoke()方法调用多个方法564
21.3任务564
21.3.1启动任务565
21.3.2Future——任务的结果567
21.3.3连续的任务568
21.3.4任务层次结构569
21.4取消架构570
21.4.1Parallel.For()方法的取消570
21.4.2任务的取消571
21.5线程池572
21.6Thread类574
21.6.1给线程传递数据575
21.6.2后台线程576
21.6.3线程的优先级577
21.6.4控制线程578
21.7线程问题578
21.7.1争用条件578
21.7.2死锁581
21.8同步583
21.8.1lock语句和线程安全583
21.8.2Interlocked类588
21.8.3Monitor类589
21.8.4SpinLock结构590
21.8.5WaitHandle基类591
21.8.6Mutex类591
21.8.7Semaphore类593
21.8.8Events类595
21.8.9Barrier类598
21.8.10ReaderWriterLockSlim类600
21.9Timer类602
21.10数据流604
21.10.1使用动作块604
21.10.2源和目标数据块605
21.10.3连接块606
21.11小结608
第22章安全性609
22.1概述609
22.2身份验证和授权610
22.2.1标识和Principal610
22.2.2角色611
22.2.3声明基于角色的安全性612
22.2.4声称613
22.2.5客户端应用程序服务614
22.3加密619
22.3.1签名621
22.3.2交换密钥和安全传输622
22.4资源的访问控制625
22.5代码访问安全性628
22.5.1第2级安全透明性628
22.5.2权限629
22.6使用证书发布代码634
22.7小结635
第23章互操作636
23.1.NET和COM技术636
23.1.1元数据637
23.1.2释放内存638
23.1.3接口638
23.1.4方法绑定639
23.1.5数据类型640
23.1.6注册640
23.1.7线程640
23.1.8错误处理641
23.1.9事件642
23.1.10封送642
23.2在.NET客户端中使用COM组件643
23.2.1创建COM组件643
23.2.2创建运行库可调用包装649
23.2.3使用RCW650
23.2.4通过动态语言扩展使用COM服务651
23.2.5线程问题652
23.2.6添加连接点652
23.3在COM客户端中使用.NET组件654
23.3.1COM可调用包装655
23.3.2创建.NET组件655
23.3.3创建类型库656
23.3.4COM互操作特性658
23.3.5COM注册660
23.3.6创建COM客户端应用程序661
23.3.7添加连接点662
23.3.8使用sink对象创建客户端663
23.4平台调用665
23.5小结669
第24章文件和注册表操作670
24.1文件和注册表670
24.2管理文件系统671
24.2.1表示文件和文件夹的.NET类672
24.2.2Path类674
24.2.3FileProperties示例674
24.3移动、复制和删除文件679
24.3.1FilePropertiesAndMovement示例679
24.3.2FilePropertiesAndMovement示例的代码680
24.4读写文件682
24.4.1读取文件683
24.4.2写入文件684
24.4.3流685
24.4.4缓存的流687
24.4.5使用FileStream类读写二进制文件687
24.4.6读写文本文件692
24.5映射内存的文件698
24.6读取驱动器信息699
24.7文件的安全性701
24.7.1从文件中读取ACL701
24.7.2从目录中读取ACL702
24.7.3添加和删除文件中的ACL项704
24.8读写注册表705
24.8.1注册表706
24.8.2.NET注册表类708
24.9读写独立存储器710
24.10小结714
第25章事务处理715
25.1简介715
25.2概述716
25.2.1事务处理阶段716
25.2.2ACID属性717
25.3数据库和实体类717
25.4传统的事务719
25.4.1ADO.NET事务719
25.4.2System.EnterpriseServices721
25.5System.Transactions722
25.5.1可提交的事务723
25.5.2事务处理的升级725
25.5.3依赖事务727
25.5.4环境事务729
25.6隔离级别736
25.7自定义资源管理器737
25.8文件系统事务743
25.9小结747
第26章网络748
26.1网络748
26.2HttpClient类749
26.2.1异步调用Web服务749
26.2.2标题750
26.2.3HttpContent752
26.2.4HttpMessageHandler752
26.3把输出结果显示为HTML页面753
26.3.1从应用程序中进行简单的Web浏览754
26.3.2启动InternetExplorer实例755
26.3.3给应用程序提供更多IE类型的功能756
26.3.4使用WebBrowser控件打印761
26.3.5显示所请求页面的代码761
26.3.6WebRequest类和WebResponse类的层次结构763
26.4实用工具类763
26.4.1URI763
26.4.2IP地址和DNS名称764
26.5较低层的协议766
26.5.1使用SmtpClient767
26.5.2使用TCP类769
26.5.3TcpSend和TcpReceive示例769
26.5.4TCP和UDP771
26.5.5UDP类771
26.5.6Socket类772
26.5.7WebSocket776
26.6小结779
第27章Windows服务780
27.1Windows服务780
27.2Windows服务的体系结构781
27.2.1服务程序782
27.2.2服务控制程序783
27.2.3服务配置程序783
27.2.4Windows服务的类783
27.3创建Windows服务程序784
27.3.1创建服务的核心功能784
27.3.2QuoteClient示例787
27.3.3Windows服务程序791
27.3.4线程化和服务795
27.3.5服务的安装795
27.3.6安装程序796
27.4Windows服务的监控和控制800
27.4.1MMC管理单元800
27.4.2net.exe实用程序801
27.4.3sc.exe实用程序801
27.4.4VisualStudioServerExplorer801
27.4.5编写自定义ServiceController类802
27.5故障排除和事件日志809
27.6小结810
第28章本地化811
28.1全球市场811
28.2System.Globalization名称空间812
28.2.1Unicode问题812
28.2.2区域性和区域813
28.2.3使用区域性817
28.2.4排序823
28.3资源824
28.3.1创建资源文件824
28.3.2资源文件生成器824
28.3.3ResourceWriter825
28.3.4使用资源文件826
28.3.5System.Resources名称空间830
28.4使用VisualStudio的WindowsForms本地化830
28.4.1通过编程方式修改区域性835
28.4.2使用自定义资源消息836
28.4.3资源的自动回退837
28.4.4外包翻译837
28.5ASP.NETWebForms的本地化838
28.6用WPF本地化839
28.6.1用于WPF的.NET资源840
28.6.2XAML资源字典841
28.7自定义资源读取器845
28.7.1创建DatabaseResourceReader类845
28.7.2创建DatabaseResourceSet类847
28.7.3创建DatabaseResourceManager类847
28.7.4DatabaseResourceReader的客户端应用程序848
28.8创建自定义区域性848
28.9用WindowsStore应用程序进行本地化850
28.9.1使用资源851
28.9.2使用多语言应用程序工具集进行本地化851
28.10小结852
第29章核心XAML853
29.1XAML的作用853
29.2XAML概述854
29.2.1元素如何映射到.NET对象上854
29.2.2使用自定义.NET类856
29.2.3把属性用作特性857
29.2.4把属性用作元素857
29.2.5基本的.NET类型858
29.2.6使用集合和XAML858
29.2.7用XAML代码调用构造函数859
29.3依赖属性859
29.3.1创建依赖属性860
29.3.2强制值回调861
29.3.3值变更回调和事件862
29.3.4事件的冒泡和隧道863
29.4附加属性866
29.5标记扩展868
29.6创建自定义标记扩展869
29.7XAML定义的标记扩展870
29.8读写XAML871
29.9小结872
第30章ManagedExtensibilityFramework873
30.1概述873
30.2MEF的体系结构874
30.2.1使用属性的MEF875
30.2.2基于约定的部件注册880
30.3定义协定882
30.4导出部件883
30.4.1创建部件883
30.4.2导出属性和方法888
30.4.3导出元数据890
30.4.4使用元数据进行惰性加载892
30.5导入部件893
30.5.1导入连接895
30.5.2部件的惰性加载897
30.5.3用惰性实例化的部件读取元数据898
30.6容器和出口提供程序900
30.7类别902
30.8小结904
第31章Windows运行库905
31.1概述905
31.1.1.NET与Windows运行库的比较906
31.1.2名称空间906
31.1.3元数据908
31.1.4语言投射909
31.1.5Windows运行库中的类型911
31.2Windows运行库组件912
31.2.1集合912
31.2.2流913
31.2.3委托与事件914
31.2.4异步操作914
31.3WindowsStore应用程序915
31.4应用程序的生命周期917
31.4.1应用程序的执行状态918
31.4.2SuspensionManager919
31.4.3导航状态921
31.4.4测试暂停922
31.4.5页面状态922
31.5应用程序的设置924
31.6小结927
第Ⅳ部分数据
第32章核心ADO.NET929
32.1ADO.NET概述929
32.1.1名称空间930
32.1.2共享类931
32.1.3数据库专用类931
32.2使用数据库连接932
32.2.1管理连接字符串933
32.2.2高效地使用连接934
32.2.3事务936
32.3命令938
32.3.1执行命令938
32.3.2调用存储过程941
32.4快速数据访问:数据读取器944
32.5异步数据访问:使用Task和await946
32.6管理数据和关系:DataSet类948
32.6.1数据表949
32.6.2数据列950
32.6.3数据关系955
32.6.4数据约束956
32.7XML架构:用XSD生成代码958
32.8填充DataSet类965
32.8.1用数据适配器填充DataSet965
32.8.2从XML中填充DataSet类966
32.9持久化DataSet类的修改966
32.9.1通过数据适配器进行更新966
32.9.2写入XML输出结果969
32.10使用ADO.NET970
32.10.1分层开发970
32.10.2生成SQLServer的键972
32.10.3命名约定974
32.11小结975
第33章ADO.NETEntityFramework976
33.1用EntityFramework编程976
33.2EntityFramework映射978
33.2.1逻辑层978
33.2.2概念层980
33.2.3映射层982
33.2.4连接字符串983
33.3实体983
33.4对象上下文984
33.5关系986
33.5.1一个层次结构一个表986
33.5.2一种类型一个表988
33.5.3懒惰加载、延迟加载和预先加载989
33.6查询数据991
33.6.1EntitySQL991
33.6.2使用DbSqlQuery992
33.6.3LINQtoEntities993
33.7把数据写入数据库994
33.7.1对象跟踪994
33.7.2改变信息995
33.7.3附加和分离实体996
33.7.4使用最后一个更改操作
写入实体的更改997
33.7.5使用第一个更改操作写入实体的更改997
33.7.6写入实体的更改并处理冲突998
33.8使用CodeFirst编程模型999
33.8.1定义实体类型999
33.8.2创建数据上下文1000
33.8.3创建数据库,存储实体1000
33.8.4数据库1001
33.8.5查询数据1001
33.8.6定制数据库的生成1002
33.8.7数据库的自动填充1003
33.8.8连接的弹性1004
33.8.9架构的迁移1005
33.9小结1007
第34章处理XML1008
34.1XML1008
34.2.NET支持的XML标准1009
34.3System.Xml名称空间1009
34.4使用System.Xml类1010
34.5读写流格式的XML1011
34.5.1使用XmlReader类1011
34.5.2使用XmlReader类进行验证1015
34.5.3使用XmlWriter类1017
34.6在.NET中使用DOM1018
34.7使用XPathNavigator类1023
34.7.1System.Xml.XPath名称空间1023
34.7.2System.Xml.Xsl名称空间1028
34.7.3调试XSLT1032
34.8XML和ADO.NET1034
34.8.1将ADO.NET数据转换为XML文档1034
34.8.2把XML文档转换为
ADO.NET数据1040
34.9在XML中序列化对象1041
34.10LINQtoXML和.NET1051
34.11使用不同的XML对象1051
34.11.1XDocument对象1051
34.11.2XElement对象1052
34.11.3XNamespace对象1053
34.11.4XComment对象1055
34.11.5XAttribute对象1056
34.12使用LINQ查询XML文档1057
34.12.1查询静态的XML文档1057
34.12.2查询动态的XML文档1058
34.13XML文档的更多查询技术1060
34.13.1读取XML文档1060
34.13.2写入XML文档1061
34.14小结1063
第Ⅴ部分显示
第35章核心WPF1065
35.1理解WPF1066
35.1.1名称空间1066
35.1.2类层次结构1067
35.2形状1069
35.3几何图形1070
35.4变换1072
35.5画笔1073
35.5.1SolidColorBrush1073
35.5.2LinearGradientBrush1074
35.5.3RadialGradientBrush1074
35.5.4DrawingBrush1075
35.5.5ImageBrush1076
35.5.6VisualBrush1076
35.6控件1077
35.6.1简单控件1077
35.6.2内容控件1078
35.6.3带标题的内容控件1079
35.6.4项控件1081
35.6.5带标题的项控件1081
35.6.6修饰1081
35.7布局1082
35.7.1StackPanel1082
35.7.2WrapPanel1083
35.7.3Canvas1084
35.7.4DockPanel1084
35.7.5Grid1085
35.8样式和资源1086
35.8.1样式1087
35.8.2资源1088
35.8.3系统资源1090
35.8.4从代码中访问资源1090
35.8.5动态资源1090
35.8.6资源字典1091
35.9触发器1092
35.9.1属性触发器1093
35.9.2多触发器1094
35.9.3数据触发器1095
35.10模板1096
35.10.1控件模板1097
35.10.2数据模板1099
35.10.3样式化列表框1101
35.10.4ItemTemplate1102
35.10.5列表框元素的控件模板1103
35.11动画1105
35.11.1时间轴1105
35.11.2非线性动画1108
35.11.3事件触发器1109
35.11.4关键帧动画1111
35.12可见状态管理器1112
35.12.1可见的状态1113
35.12.2变换1115
35.133-D1116
35.13.1模型1116
35.13.2照相机1118
35.13.3光线1118
35.13.4旋转1118
35.14小结1119
第36章用WPF编写业务应用程序1120
36.1概述1120
36.2菜单和功能区控件1121
36.2.1菜单控件1121
36.2.2功能区控件1122
36.3Commanding1124
36.3.1定义命令1125
36.3.2定义命令源1126
36.3.3命令绑定1126
36.4数据绑定1127
36.4.1BooksDemo应用程序内容1128
36.4.2用XAML绑定1129
36.4.3简单对象的绑定1131
36.4.4更改通知1134
36.4.5对象数据提供程序1136
36.4.6列表绑定1138
36.4.7主从绑定1141
36.4.8多绑定1142
36.4.9优先绑定1144
36.4.10值的转换1145
36.4.11动态添加列表项1147
36.4.12动态添加选项卡中的项1148
36.4.13数据模板选择器1149
36.4.14绑定到XML上1151
36.4.15绑定的验证和错误处理1153
36.5TreeView1161
36.6DataGrid1165
36.6.1自定义列1167
36.6.2行的细节1168
36.6.3用DataGrid进行分组1168
36.6.4实时成型1171
36.7小结1177
第37章用WPF创建文档1178
37.1简介1178
37.2文本元素1179
37.2.1字体1179
37.2.2TextEffect1180
37.2.3内联1181
37.2.4块1183
37.2.5列表1185
37.2.6表1185
37.2.7块的锚定1186
37.3流文档1188
37.4固定文档1192
37.5XPS文档1196
37.6打印1197
37.6.1用PrintDialog打印1198
37.6.2打印可见元素1198
37.7小结1200
第38章WindowsStore应用程序:用户界面1201
38.1概述1201
38.2Microsoft的现代设计1202
38.2.1内容,不是边框1202
38.2.2快速流畅1203
38.2.3可读性1204
38.3示例应用程序的核心功能1204
38.3.1文件和目录1204
38.3.2应用程序页面1205
38.4应用程序工具栏1210
38.5启动与导航1213
38.6布局的变化应用程序数据1215
38.7存储1220
38.7.1定义数据协定1220
38.7.2写入移动数据1222
38.7.3读取数据1223
38.7.4写入图像1224
38.7.5读取图像1226
38.8选择器1227
38.9活动的磁贴1228
38.10小结1230
第39章WindowsStore应用程序:协定和设备1231
39.1概述1231
39.2搜索1232
39.3共享协定1234
39.3.1共享源1234
39.3.2共享目标1237
39.4相机1239
39.5定位1240
39.6感应器1243
39.6.1光线1244
39.6.2罗盘1244
39.6.3加速计1245
39.6.4倾斜计1246
39.6.5陀螺仪1246
39.6.6方向1246
39.6.7RollingMarble示例1247
39.7小结1249
第40章核心ASP.NET1250
40.1用于Web应用程序的.NETFramework1250
40.1.1ASP.NETWebForms1251
40.1.2ASP.NETWebPages1251
40.1.3ASP.NETMVC1252
40.2Web技术1252
40.2.1HTML1253
40.2.2CSS1253
40.2.3JavaScript和jQuery1253
40.3托管和配置1254
40.4处理程序和模块1256
40.4.1创建自定义处理程序1257
40.4.2ASP.NET处理程序1258
40.4.3创建自定义模块1259
40.4.4通用模块1260
40.5全局的应用程序类1261
40.6请求和响应1262
40.6.1使用HttpRequest对象1262
40.6.2使用HttpResponse对象1264
40.7状态管理1264
40.7.1视图状态1265
40.7.2cookie1266
40.7.3会话1267
40.7.4应用程序状态1270
40.7.5缓存1270
40.7.6配置文件1271
40.8ASP.NET身份系统1275
40.8.1基础知识1276
40.8.2存储和检索用户信息1277
40.8.3安全启动1278
40.8.4使用注册和身份验证1278
40.9小结1279
第41章ASP.NETWebForms1281
41.1概述1281
41.2ASPX页面模型1282
41.2.1添加控件1283
41.2.2使用事件1284
41.2.3使用回送1284
41.2.4使用自动回送1285
41.2.5回送到其他页面1285
41.2.6定义强类型化的跨页面回送1286
41.2.7使用页面事件1287
41.2.8ASPX代码1288
41.2.9服务器端控件1290
41.3母版页1291
41.3.1创建母版页1291
41.3.2使用母版页1293
41.3.3在内容页中定义母版页内容1294
41.4导航1296
41.4.1站点地图1296
41.4.2Menu控件1296
41.4.3菜单路径1297
41.5验证用户输入1297
41.5.1使用验证控件1298
41.5.2使用验证摘要1299
41.5.3验证组1300
41.6访问数据1300
41.6.1使用ObjectFramework1301
41.6.2创建库1302
41.6.3使用ObjectDataSource1303
41.6.4编辑1306
41.6.5定制列1307
41.6.6在网格中使用模板1308
41.7安全性1309
41.7.1建立ASP.NET身份1309
41.7.2用户注册1310
41.7.3用户的身份验证1311
41.7.4用户授权1312
41.8Ajax1313
41.8.1ASP.NETAJAX的概念1314
41.8.2ASP.NETAJAX网站示例1316
41.8.3支持ASP.NETAJAX的网站配置1319
41.8.4添加ASP.NETAJAX功能1320
41.9小结1326
第42章ASP.NETMVC1328
42.1ASP.NETMVC概述1328
42.2定义路由1330
42.2.1添加路由1330
42.2.2路由约束1331
42.3创建控制器1331
42.3.1动作方法1332
42.3.2参数1332
42.3.3返回数据1333
42.4创建视图1335
42.4.1向视图传递数据1336
42.4.2Razor语法1337
42.4.3强类型视图1338
42.4.4布局1339
42.4.5部分视图1342
42.5从客户端提交数据1346
42.5.1模型绑定器1347
42.5.2注释和验证1348
42.6HTMLHelper1350
42.6.1简单的Helper1350
42.6.2使用模型数据1351
42.6.3定义HTML特性1352
42.6.4创建列表1352
42.6.5强类型化的Helper1353
42.6.6编辑器扩展1354
42.6.7创建自定义Helper1355
42.6.8模板1355
42.7创建数据驱动的应用程序1356
42.7.1定义模型1357
42.7.2创建控制器和视图1358
42.8动作过滤器1364
42.9身份验证和授权1366
42.9.1登录模型1366
42.9.2登录控制器1366
42.9.3登录视图1368
42.10小结1370
第Ⅵ部分通信
第43章WCF1372
43.1WCF概述1372
43.1.1SOAP1374
43.1.2WSDL1374
43.1.3REST1375
43.1.4JSON1375
43.2创建简单的服务和客户端1375
43.2.1定义服务和数据协定1376
43.2.2数据访问1378
43.2.3服务的实现1379
43.2.4WCF服务宿主和WCF测试客户端1380
43.2.5自定义服务宿主1382
43.2.6WCF客户端1384
43.2.7诊断1386
43.2.8与客户端共享协定程序集1388
43.3协定1389
43.3.1数据协定1390
43.3.2版本问题1390
43.3.3服务协定1391
43.3.4消息协定1392
43.3.5错误协定1392
43.4服务的行为1394
43.5绑定1397
43.5.1标准的绑定1397
43.5.2标准绑定的特性1399
43.5.3Web套接字1400
43.6宿主1403
43.6.1自定义宿主1403
43.6.2WAS宿主1404
43.6.3预配置的宿主类1405
43.7客户端1406
43.7.1使用元数据1406
43.7.2共享类型1407
43.8双工通信1408
43.8.1双工通信的协定1408
43.8.2双工通信的服务1408
43.8.3双工通信的客户端应用程序1409
43.9路由1410
43.9.1示例应用程序1411
43.9.2路由接口1412
43.9.3WCF路由服务1412
43.9.4为失败使用路由器1413
43.9.5改变协定的桥梁1415
43.9.6过滤器的类型1415
43.10小结1415
第44章ASP.NETWebAPI1416
44.1概述1416
44.2创建服务1417
44.2.1定义模型1418
44.2.2创建控制器1418
44.2.3错误处理1420
44.3创建.NET客户程序1420
44.3.1发送GET请求1421
44.3.2发送POST请求1422
44.3.3发送PUT请求1423
44.3.4发送DELETE请求1423
44.4WebAPI路由和操作1424
44.4.1给操作添加HTTP方法1424
44.4.2基于特性的路由1425
44.5使用OData1427
44.5.1创建数据模型1427
44.5.2创建服务1428
44.5.3OData查询1430
44.5.4WCFDataServices客户程序1431
44.6保护WebAPI1436
44.6.1创建账户1437
44.6.2创建验证令牌1439
44.6.3发送验证过的调用1440
44.6.4获取用户信息1440
44.7自驻留1441
44.8小结1443
第45章WindowsWorkflowFoundation1444
45.1工作流概述1444
45.2HelloWorld示例1445
45.3活动1446
45.3.1If活动1447
45.3.2InvokeMethod活动1448
45.3.3Parallel活动1448
45.3.4Delay活动1449
45.3.5Pick活动1449
45.4自定义活动1450
45.4.1活动的验证1451
45.4.2设计器1452
45.4.3自定义复合活动1454
45.5工作流1456
45.5.1实参和变量1457
45.5.2WorkflowApplication1458
45.5.3存放WCF工作流1461
45.5.4工作流的版本1465
45.5.5驻留设计器1466
45.6小结1471
第46章对等网络1472
46.1P2P网络概述1472
46.1.1客户端-服务器体系结构1473
46.1.2P2P体系结构1473
46.1.3P2P体系结构的挑战1474
46.1.4P2P术语1475
46.1.5P2P解决方案1475
46.2PNRP1475
46.3构建P2P应用程序1478
46.4小结1484
第47章消息队列1485
47.1概述1486
47.1.1使用消息队列的场合1486
47.1.2消息队列功能1487
47.2MessageQueuing产品1488
47.3消息队列体系结构1489
47.3.1消息1489
47.3.2消息队列1489
47.4MessageQueuing管理工具1490
47.4.1创建消息队列1490
47.4.2消息队列属性1491
47.5消息队列的编程实现1492
47.5.1创建消息队列1492
47.5.2查找队列1493
47.5.3打开已知队列1493
47.5.4发送消息1495
47.5.5接收消息1497
47.6课程订单应用程序1499
47.6.1课程订单类库1499
47.6.2课程订单消息发送程序1502
47.6.3发送优先级和可恢复的消息1504
47.6.4课程订单消息接收应用程序1505
47.7接收结果1511
47.7.1确认队列1511
47.7.2响应队列1512
47.8事务队列1512
47.9消息队列和WCF1514
47.9.1带数据协定的实体类1514
47.9.2WCF服务协定1515
47.9.3WCF消息接收应用程序1516
47.9.4WCF消息发送应用程序1519
47.10消息队列的安装1520
47.11小结1520

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网