图书介绍
C#高级编程 C# 5.0 & .NET 4.5.1 第9版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)内格尔等著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302380023
- 出版时间:2014
- 标注页数:1520页
- 文件大小:84MB
- 文件页数:536页
- 主题词:C语言-程序设计
PDF下载
下载说明
C#高级编程 C# 5.0 & .NET 4.5.1 第9版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第Ⅰ部分 C#语言2
第1章 NET体系结构2
1.1 C#与.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 .NET Framework类15
1.6 名称空间15
1.7 用C#创建.NET应用程序16
1.7.1 创建ASP.NET应用程序16
1.7.2 使用WPF17
1.7.3 windowsStore应用程序18
1.7.4 Windows服务18
1.7.5 WCF18
1.7.6 Windows WF19
1.8 C#在.NET企业体系结构中的作用19
1.9 小结20
第2章 核心C#22
2.1 C#基础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.2 CTS类型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.1 using语句47
2.7.2 名称空间的别名48
2.8 Main()方法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.2 XML文档54
2.12 C#预处理器指令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.13 C#编程规则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.9 Object类88
3.9.1 System.Objcct()方法88
3.9.2 ToString()方法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.5 Array类139
6.5.1 创建数组139
6.5.2 复制数组140
6.5.3 排序141
6.6 数组作为参数144
6.6.1 数组协变144
6.6.2 ArraySegment<T>144
6.7 枚举145
6.7.1 IEnumerator接口146
6.7.2 foreach语句146
6.7.3 yield语句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.4 Action〈T〉和Func〈T〉委托196
8.2.5 BubbleSorter示例197
8.2.6 多播委托199
8.2.7 匿名方法203
8.3 lambda表达式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.1 System.String类216
9.1.1 创建字符串217
9.1.2 StringBuilder成员220
9.1.3 格式字符串221
9.2 正则表达式227
9.2.1 正则表达式概述227
9.2.2 RegularExpressionsPlayaround示例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.3 Lookup类265
10.8.4 有序字典265
10.9 集266
10.10 可观察的集合268
10.11 位数组269
10.11.1 BitArray类270
10.11.2 BitVector32结构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.1 LINQ概述286
11.1.1 列表和实体287
11.1.2 LINQ查询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.5 LINQ提供程序318
11.6 小结319
第12章 动态语言扩展320
12.1 DLR320
12.2 dynamic类型321
12.3 包含DLR ScriptRuntime325
12.4 DynamicObject和ExpandoObject328
12.4.1 DynamicObject328
12.4.2 ExpandoObject330
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.2 IDisposable接口361
14.3.3 实现Disposable接口和析构函数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.1 System.Type类388
15.3.2 TypeView示例391
15.3.3 Assembly类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.3 System.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
第Ⅱ部分 Visual Studio419
第17章 Visual Studio 2013419
17.1 使用Visual Studio 2013419
17.1.1 项目文件的改进421
17.1.2 Visual Studio的版本422
17.1.3 Visual Studio设置423
17.2 创建项目423
17.2.1 面向多个版本的.NET Framework424
17.2.2 选择项目类型426
17.3 浏览并编写项目429
17.3.1 Solution Explorer429
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.6 IntelliTrace449
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.4 Concurrency Visualizer457
17.8.5 Code Analysis458
17.8.6 Code Metrics459
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.6 Fakes Framework466
17.10 Windows Store应用程序、WCF、WF等467
17.10.1 使用Visual Studio生成WCF应用程序467
17.10.2 使用Visual Studio生成WF应用程序468
17.10.3 使用Visual Studio 2013生成Windows Store应用程序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.1 xcopy部署474
18.3.2 xcopy和Web应用程序475
18.3.3 Windows Installer475
18.4 ClickOnce475
18.4.1 ClickOnce操作476
18.4.2 发布ClickOnce应用程序476
18.4.3 ClickOnce设置477
18.4.4 ClickOnce文件的应用程序缓存479
18.4.5 应用程序的安装479
18.4.6 ClickOnce部署API480
18.5 Web部署481
18.5.1 Web应用程序481
18.5.2 配置文件482
18.5.3 创建Web Deploy包482
18.6 Windows Store应用程序483
18.6.1 创建应用程序包484
18.6.2 Windows App Certification Kit485
18.6.3 旁加载486
18.6.4 Windows部署API486
18.7 小结488
第Ⅲ部分 基础490
第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.4 perfmon.exe556
20.6 小结557
第21章 任务、线程和同步558
21.1 概述558
21.2 Parallel类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.2 Future——任务的结果567
21.3.3 连续的任务568
21.3.4 任务层次结构569
21.4 取消架构570
21.4.1 Parallel.For()方法的取消570
21.4.2 任务的取消571
21.5 线程池572
21.6 Thread类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.1 lock语句和线程安全583
21.8.2 Interlocked类588
21.8.3 Monitor类589
21.8.4 SpinLock结构590
21.8.5 WaitHandle基类591
21.8.6 Mutex类591
21.8.7 Semaphore类593
21.8.8 Events类595
21.8.9 Barrier类598
21.8.10 ReaderWriterLockSlim类600
21.9 Timer类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.1 COM可调用包装655
23.3.2 创建.NET组件655
23.3.3 创建类型库656
23.3.4 COM互操作特性658
23.3.5 COM注册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.2 Path类674
24.2.3 FileProperties示例674
24.3 移动、复制和删除文件679
24.3.1 FilePropertiesAndMovement示例679
24.3.2 FilePropertiesAndMovement示例的代码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.2 ACID属性717
25.3 数据库和实体类717
25.4 传统的事务719
25.4.1 ADO.NET事务719
25.4.2 System.EnterpriseServices721
25.5 System.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.2 HttpClient类749
26.2.1 异步调用Web服务749
26.2.2 标题750
26.2.3 HttpContent752
26.2.4 HttpMessageHandler752
26.3 把输出结果显示为HTML页面753
26.3.1 从应用程序中进行简单的Web浏览754
26.3.2 启动Internet Explorer实例755
26.3.3 给应用程序提供更多IE类型的功能756
26.3.4 使用WebBrowser控件打印761
26.3.5 显示所请求页面的代码761
26.3.6 WebRequest类和WebResponse类的层次结构763
26.4 实用工具类763
26.4.1 URI763
26.4.2 IP地址和DNS名称764
26.5 较低层的协议766
26.5.1 使用SmtpClient767
26.5.2 使用TCP类769
26.5.3 TcpSend和TcpReceive示例769
26.5.4 TCP和UDP771
26.5.5 UDP类771
26.5.6 Socket类772
26.5.7 WebSocket776
26.6 小结779
第27章 Windows服务780
27.1 Windows服务780
27.2 Windows服务的体系结构781
27.2.1 服务程序782
27.2.2 服务控制程序783
27.2.3 服务配置程序783
27.2.4 Windows服务的类783
27.3 创建Windows服务程序784
27.3.1 创建服务的核心功能784
27.3.2 QuoteClient示例787
27.3.3 Windows服务程序791
27 3.4 线程化和服务795
27.3.5 服务的安装795
27.3.6 安装程序796
27.4 Windows服务的监控和控制800
27.4.1 MMC管理单元800
27.4.2 net.exe实用程序801
27.4.3 se.exe实用程序801
27.4.4 Visual Studio Server Explorer801
27.4.5 编写自定义ServiceController类802
27.5 故障排除和事件日志809
27.6 小结810
第28章 本地化811
28.1 全球市场811
28.2 System.Globalization名称空间812
28.2.1 Unicode问题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.3 ResourceWriter825
28.3.4 使用资源文件826
28.3.5 System.Resources名称空间830
28.4 使用Visual Studio的Windows Forms本地化830
28.4.1 通过编程方式修改区域性835
28.4.2 使用自定义资源消息836
28.4.3 资源的自动回退837
28.4.4 外包翻译837
28.5 ASP.NET Web Forms的本地化838
28.6 用WPF本地化839
28.6.1 用于WPF的.NET资源840
28.6.2 XAML资源字典841
28.7 自定义资源读取器845
28.7.1 创建DatabaseResourceReader类845
28.7.2 创建DatabaseResourceSet类847
28.7.3 创建DatabaseResourceManager类847
28.7.4 DatabaseResourceReader的客户端应用程序848
28.8 创建自定义区域性848
28.9 用Windows Store应用程序进行本地化850
28.9.1 使用资源851
28.9.2 使用多语言应用程序工具集进行本地化851
28.10 小结852
第29章 核心XAML853
29.1 XAML的作用853
29.2 XAML概述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.7 XAML定义的标记扩展870
29.8 读写XAML871
29.9 小结872
第30章 Managed Extensibility Framework873
30.1 概述873
30.2 MEF的体系结构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.5 Windows运行库中的类型911
31.2 Windows运行库组件912
31.2.1 集合912
31.2.2 流913
31.2.3 委托与事件914
31.2.4 异步操作914
31.3 Windows Store应用程序915
31.4 应用程序的生命周期917
31.4.1 应用程序的执行状态918
31.4.2 Suspension Manager919
31.4.3 导航状态921
31.4.4 测试暂停922
31.4.5 页面状态922
31.5 应用程序的设置924
31.6 小结927
第Ⅳ部分 数据929
第32章 核心ADO.NET929
32.1 ADO.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.7 XML架构:用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 生成SQL Server的键972
32.10.3 命名约定974
32.11 小结975
第33章 ADO.NET Entity Framework976
33.1 用Entity Framework编程976
33.2 Entity Framework映射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.1 Entity SQL991
33.6.2 使用DbSqlQuery992
33.6.3 LINQ to Entities993
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 使用Code First编程模型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.1 XML1008
34.2 .NET支持的XML标准1009
34.3 System.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.1 System.Xml.XPath名称空间1023
34.7.2 System.Xml.Xsl名称空间1028
34.7.3 调试XSLT1032
34.8 XML和ADO.NET1034
34.8.1 将ADO.NET数据转换为XML文档1034
34.8.2 把XML文档转换为ADO.NET数据1040
34.9 在XML中序列化对象1041
34.10 LINQ to XML和.NET1051
34.11 使用不同的XML对象1051
34.11.1 XDocument对象1051
34.11.2 XElement对象1052
34.11.3 XNamespace对象1053
34.11.4 XComment对象1055
34.11.5 XAttribute对象1056
34.12 使用LINQ查询XML文档1057
34.12.1 查询静态的XML文档1057
34.12.2 查询动态的XML文档1058
34.13 XML文档的更多查询技术1060
34.13.1 读取XML文档1060
34.13.2 写入XML文档1061
34.14 小结1063
第Ⅴ部分 显示1065
第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.1 SolidColorBrush1073
35.5.2 LinearGradientBrush1074
35.5.3 RadialGradientBrush1074
35.5.4 DrawingBrush1075
35.5.5 ImageBrush1076
35.5.6 VisualBrush1076
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.1 StackPanel1082
35.7.2 WrapPanel1083
35.7.3 Canvas1084
35.7.4 Dock.Panel1084
35.7.5 Grid1085
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.4 ItemTemplate1102
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.13 3-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.3 Commanding1124
36.3.1 定义命令1125
36.3.2 定义命令源1126
36.3.3 命令绑定1126
36.4 数据绑定1127
36.4.1 BooksDemo应用程序内容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.5 Tree View1161
36.6 DataGrid1165
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.2 TextEffect1180
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.5 XPS文档1196
37.6 打印1197
37.6.1 用PrintDialog打印1198
37.6.2 打印可见元素1198
37.7 小结1200
第38章 Windows Store应用程序:用户界面1201
38.1 概述1201
38.2 Microsoft的现代设计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
应用程序数据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章 Windows Store应用程序:协定和设备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.7 Rolling Marble示例1247
39.7 小结1249
第40章 核心ASP.NET1250
40.1 用于Web应用程序的.NET Framework1250
40.1.1 ASP.NET Web Forms1251
40.1.2 ASP.NET Web Pages1251
40.1.3 ASP.NET MVC1252
40.2 Web技术1252
40.2.1 HTML1253
40.2.2 CSS1253
40.2.3 JavaScript和jQuery1253
40.3 托管和配置1254
40.4 处理程序和模块1256
40.4.1 创建自定义处理程序1257
40.4.2 ASP.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.2 cookie1266
40.7.3 会话1267
40.7.4 应用程序状态1270
40.7.5 缓存1270
40.7.6 配置文件1271
40.8 ASP.NET身份系统1275
40.8.1 基础知识1276
40.8.2 存储和检索用户信息1277
40.8.3 安全启动1278
40.8.4 使用注册和身份验证1278
40.9 小结1279
第41章 ASP.NET Web Forms1281
41.1 概述1281
41.2 ASPX页面模型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.8 ASPX代码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.2 Menu控件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 使用Object Framework1301
41.6.2 创建库1302
41.6.3 使用Object Data Source1303
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.8 Aiax1313
41.8.1 ASP.NET AJAX的概念1314
41.8.2 ASP.NET AJAX网站示例1316
41.8.3 支持ASP.NET AJAX的网站配置1319
41.8.4 添加ASP.NET AJAX功能1320
41.9 小结1326
第42章 ASP.NET MVC1328
42.1 ASP.NET MVC概述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.2 Razor语法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.6 HTML Helper1350
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
第Ⅵ部分 通信1372
第43章 WCF1372
43.1 WCF概述1372
43.1.1 SOAP1374
43.1.2 WSDL1374
43.1.3 REST1375
43.1.4 JSON1375
43.2 创建简单的服务和客户端1375
43.2.1 定义服务和数据协定1376
43.2.2 数据访问1378
43.2.3 服务的实现1379
43.2.4 WCF服务宿主和WCF测试客户端1380
43.2.5 自定义服务宿主1382
43.2.6 WCF客户端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.3 Web套接字1400
43.6 宿主1403
43.6.1 自定义宿主1403
43.6.2 WAS宿主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.3 WCF路由服务1412
43.9.4 为失败使用路由器1413
43.9.5 改变协定的桥梁1415
43.9.6 过滤器的类型1415
43.10 小结1415
第44章 ASP.NET Web API1416
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.4 Web API路由和操作1424
44.4.1 给操作添加HTTP方法1424
44.4.2 基于特性的路由1425
44.5 使用OData1427
44.5.1 创建数据模型1427
44.5.2 创建服务1428
44.5.3 OData查询1430
44.5.4 WCF Data Services客户程序1431
44.6 保护Web API1436
44.6.1 创建账户1437
44.6.2 创建验证令牌1439
44.6.3 发送验证过的调用1440
44.6.4 获取用户信息1440
44.7 自驻留1441
44.8 小结1443
第45章 Windows Workflow Foundation1444
45.1 工作流概述1444
45.2 Hello World示例1445
45.3 活动1446
45.3.1 If活动1447
45.3.2 InvokeMethod活动1448
45.3.3 Parallel活动1448
45.3.4 Delay活动1449
45.3.5 Pick活动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.2 WorkflowApplication1458
45.5.3 存放WCF工作流1461
45.5.4 工作流的版本1465
45.5.5 驻留设计器1466
45.6 小结1471
第46章 对等网络1472
46.1 P2P网络概述1472
46.1.1 客户端-服务器体系结构1473
46.1.2 P2P体系结构1473
46.1.3 P2P体系结构的挑战1474
46.1.4 P2P术语1475
46.1.5 P2P解决方案1475
46.2 PNRP1475
46.3 构建P2P应用程序1478
46.4 小结1484
第47章 消息队列1485
47.1 概述1486
47.1.1 使用消息队列的场合1486
47.1.2 消息队列功能1487
47.2 Message Queuing产品1488
47.3 消息队列体系结构1489
47.3.1 消息1489
47.3.2 消息队列1489
47.4 Message Queuing管理工具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.2 WCF服务协定1515
47.9.3 WCF消息接收应用程序1516
47.9.4 WCF消息发送应用程序1519
47.10 消息队列的安装1520
47.11 小结1520
热门推荐
- 38315.html
- 3307807.html
- 1675562.html
- 963948.html
- 2728532.html
- 773483.html
- 3623138.html
- 3557270.html
- 908915.html
- 3547194.html
- http://www.ickdjs.cc/book_21855.html
- http://www.ickdjs.cc/book_2053246.html
- http://www.ickdjs.cc/book_3027531.html
- http://www.ickdjs.cc/book_2005376.html
- http://www.ickdjs.cc/book_3037091.html
- http://www.ickdjs.cc/book_2619859.html
- http://www.ickdjs.cc/book_3883039.html
- http://www.ickdjs.cc/book_1120699.html
- http://www.ickdjs.cc/book_2639496.html
- http://www.ickdjs.cc/book_696592.html