《WCF技术剖析(卷1)》(修订版)目录

第1章 WCF简介 (WCF Overview)

1.1 SOA的基本概念和设计思想

1.2 WCF是对现有Windows平台下分布式通信技术的整合

1.3 构建一个简单的WCF应用

1.3.1 步骤一 构建整个解决方案

1.3.2 步骤二 创建服务契约

1.3.3 步骤三 创建服务

1.3.4 步骤四 通过自我寄宿的方式寄宿服务

1.3.5 步骤五 创建客户端调用服务

1.3.6 步骤六 通过IIS寄宿服务(S104)

第2章 地址(Address)

2.1. 统一资源标识符(URI)

2.1.1. HTTP/HTTPS

2.1.2. NET.TCP

2.1.3. Net.Pipe

2.1.4. Net.Msmq

2.2. EndpointAddress

2.4.1. 为服务端终结点指定地址

2.4.2. 在客户端指定地址

2.4.3. 地址报头

2.3. 端口共享

2.3.1. 端口共享在WCF中的意义何在?

2.3.2. 基于HTTP|HTTPS的端口共享

2.3.3. 基于TCP的端口共享

2.4. 逻辑地址与物理地址

2.4.1. 服务的角色

2.4.2. 监听地址与监听模式

2.4.3. ClientViaBehavior行为

2.4.4. 实例演示:通过tcpTrace进行消息的路由(S205,S206)

2.5. 请求监听与消息分发

2.5.1. 连接请求的监听(S208)

2.5.2. 消息分发

第3章 绑定 (Binding)

3.1. 绑定模型

3.1.1. 信道与信道栈

3.1.2. 实例演示:如何直接通过绑定进行消息通信(S301)

3.1.3. WCF的绑定模型

3.2. 信道与信道栈

3.2.1. CommunicationObject

3.2.2. DefaultCommunicationTimeouts

3.2.3. IChannel和ChannelBase

3.2.4. 消息交换模式

3.2.5. 信道形状

3.2.6. 会话信道

3.2.7. 实例演示:自定义信道(S302)

3.3. 信道监听器

3.3.1. IChannelListener与ChannelListenerBase

3.3.2. 信道栈的创建/使用模式

3.3.3. 实例演示:自定义信道监听器(S302)

3.4. 信道工厂

3.4.1. IChannelFactory与ChannelFactoryBase

3.4.2. 实例演示:自定义信道工厂(S302)

3.5. 绑定元素

3.5.1. 构成绑定的元素

3.5.2. 实例演示:自定义绑定元素(S302)

3.6. 绑定

3.6.1. 绑定是绑定元素的有序集合

3.6.2. 实例演示:创建自定义绑定(S302,S303)

3.6.3. 系统绑定

3.6.4. 自定义绑定

3.6.5. 绑定配置

第4章 契约 (Contracts)

4.1. 多角度认识契约

4.1.1. 抽象、接口与服务契约

4.1.2. 元数据与服务契约

4.1.3. WSDL、XSD与服务契约

4.1.4. 消息交换与服务契约

4.1.5. WCF实现了CLR类型和XML的适配

4.2. 定义服务契约

4.3.1. ServiceContractAttribute

4.3.2. OperationContractAttribute

4.3.3. 服务契约的继承

4.3. 契约的描述

4.3.1. ContractDescription

4.3.2. OperationDescription

4.3.3. MessageDescription

4.4. 消息交换模式与服务操作

4.4.1. 请求-回复模式

4.4.2. 单向模式

4.4.3. 双工模式

4.4.4. 实例演示:通过双工通信实现回调

4.5. 多线程与异步操作

4.5.1. 异步服务调用

4.5.2. 异步服务实现

4.6. 操作的选择与执行

4.6.1. DispatchOperation与ClientOperation

4.6.2. 操作的选择

4.6.3. 操作的执行

第5章 序列化 (Serialization)

5.1. XmlSerializer

5.1.1. XmlSerializer默认的序列化规则

5.1.2. 通过定制XmlSerializer控制XML结构

5.1.3. 通过定制数据类型控制XML结构

5.2. 数据契约

5.2.1. 数据契约的本质

5.2.2. DataContractAttribute与DataMemberAttribute

5.3. DataContractSerializer

5.3.1. DataContractSerializer的序列化规则

5.3.2. 如何限定序列化对象的数量?

5.3.3. 如何保持对象现有的引用结构?

5.4. 已知类型

5.4.1. 未知类型导致序列化失败

5.4.2. DataContractSerializer的已知类型集合

5.4.3. 基于接口的序列化

5.4.4. KnownTypeAttribute

5.4.5. ServiceKnownTypeAttribute

5.5. 泛型数据契约与集合数据契约

5.5.1. 泛型数据契约

5.5.2. 数据契约集合

5.5.3. 集合数据契约

5.5.4. 字典数据契约

5.6. 等效数据契约

5.6.1. 数据契约的等效性

5.6.2. 数据成员的添加

5.6.3. 数据成员的删除

5.6.4. 数据契约代理

5.7. 序列化在WCF框架中的实现

5.7.1. 消息格式化器

5.7.2. DataContractSerializer还是XmlSerializer?

5.7.3. 实例演示:通过自定义消息格式化器压缩消息(S521)

第6章 消息 (Message)

6.1. SOAP与WS-Addressing

6.1.1. SOAP

6.1.2. WS-Addressing

6.2. 消息

6.2.1. 消息版本

6.2.2. 如何创建消息

6.2.3. 消息的基本操作

6.3. 消息报头与消息属性

6.3.1. MessageHeaderInfo

6.3.2. MessageHeader

6.3.3. MessageHeader<T>

6.3.4. MessageHeaders

6.3.5. 消息属性

6.3.6. 实例演示:通过消息报头和消息属性实现上下文信息的传播(S612)

6.4. 消息契约

6.4.1. MessageContractAttribute

6.4.2. MessageHeaderAttribute

6.4.3. MessageBodyMemberAttribute

6.4.4. 消息契约与操作

6.5. XML编码

6.5.1. XmlDictionary

6.5.2. XmlDictionaryWriter

6.5.3. XmlDictionaryReader

6.6. 消息编码

6.6.1. 消息编码器

6.6.2. 消息编码器工厂

6.6.3. 消息编码绑定元素

6.6.4. 消息编码与绑定

6.6.5. 消息编码的实现

6.6.6. 实例演示:通过自定义消息编码器实现消息压缩(S620)

第7章 服务寄宿 (Hosting)

7.1. 服务描述

7.1.1. ServiceDescription

7.1.2. WCF的四大行为

7.2. ServiceHost

7.2.1. 服务描述的创建(S701)

7.2.2. 运行时框架体系的构建

7.2.3. 服务的批量寄宿(S702)

7.2.4. 自定义ServiceHost(S703)

7.3. IIS与ASP.NET架构设计

7.3.1. IIS 5.x与ASP.NET

7.3.2. IIS 6.0与ASP.NET

7.3.3. IIS 7.0与ASP.NET

7.3.4. ASP.NET管道

7.4. IIS寄宿

7.4.1. .svc文件

7.4.2. 实例演示:如何使用自定义ServiceHost(S704)

7.4.3. ASP.NET并行模式

7.4.4. ASP.NET兼容模式

7.4.5. 非HTTP协议寄宿

7.5. Windows 服务寄宿(S708)

第8章 客户端 (Client)

8.1. 一个精简版的WCF框架

8.1.1. 从透明代理和真实代理说起

8.1.2. 服务代理的真实代理是什么?

8.1.3. 服务调用的大致流程

8.1.4. 实例演示:创建一个WCF框架模拟程序

8.2. ChannelFactory<TChannel>

8.2.1. 终结点是ChannelFactory<TChannel>的核心

8.2.2. 一个特殊的信道工厂

8.2.3. ChannelFactory<TChannel>的开启

8.3. 服务代理

8.3.1. 服务代理的创建

8.3.2. 四个重要的接口

8.3.3. 服务调用

8.4. ClientBase<TChannel>

8.4.1. ClientBase<TChannel>与ChannelFactory<TChannel>

8.4.2. ChannelFactory<TChannel>缓存机制

8.5. 服务代理关闭与中止

8.5.1. 没有关闭服务代理会带来怎样的后果?

8.5.2. 数据报信道与会话信道

8.5.3. 服务代理、ChannelFactory<TChannel>和ClientBase<TChannel>的关闭

8.5.4. 服务代理的中止

8.5.5. 通过RealProxy实现服务代理的自动关闭和中止(S810)

8.5.6. 通过委托实现服务代理的自动关闭和中止(S811)

第9章 实例管理与会话 (Instancing and Session)

9.1. 实例上下文与实例上下文模式

9.1.1. 实例上下文

9.1.2. 实例上下文模式

9.1.3. 实例服务行为

9.1.4. 实例上下文提供者与实例提供者

9.1.5. 实例上下文提供机制

9.2. 单调模式

9.2.1. 实例演示:单调模式下实例的创建与回收(S901)

9.2.2. 单调模式实例上下文提供机制

9.2.3. 实例演示:通过自定义实例上下文提供者实现单调模式(S902)

9.2.4. 单调模式与可伸缩性

9.3. 单例模式

9.3.1. 已知单例和隐式单例

9.3.2. 实例演示:单例模式下服务实例上下文的同一性(S903)

9.3.3. 单例模式实例上下文提供机制

9.3.4. 实例演示:通过自定义实例上下文提供者实现单例模式(S904)

9.3.5. 单例模式下的并发与同步

9.4. 会话

9.4.1. 客户端识别机制

9.4.2. 会话契约

9.4.3. 会话绑定

9.5. 会话模式

9.5.1. 基于信道栈的服务实例上下文提供机制

9.5.2. 会话实例上下文模式与可伸缩性

9.5.3. 会话与状态无关的服务设计

9.6. 会话模式、绑定与实例上下文模式

9.6.1. 单调服务决定于单调实例上下文模式

9.6.2. 单例服务决定于单例实例上下文模式

9.6.3. 会话服务决定于会话信道(栈)和会话实例上下文模式

第10章 WCF实例研究 (WCF in Practice)

10.1. VM简介

10.1.1. 基本功能

10.1.2. 物理部署

10.1.3. 模块划分

10.1.4. 层次设计

10.1.5. IoC的应用

10.1.6. AOP的应用

10.1.7. 身份认证

10.1.8. 异常处理

10.2. 模块设计

10.2.1. 数据库设计

10.2.2. Products模块

10.2.3. Orders模块

10.2.4. Infrastructure模块

10.3. ASP.NET MVC项目

10.3.1. IoC集成

10.3.2. 异常处理

10.3.3. AccountController

10.3.4. ProductsController

10.3.5. OrdersController

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java思维导图

使用Redis单实例实现分布式锁(代码)

在同一个jvm进程中时,可以使用JUC提供的一些锁来解决多个线程竞争同一个共享资源时候的线程安全问题,但是当多个不同机器上的不同jvm进程共同竞争同一个共享资源...

16820
来自专栏C/C++基础

程序内存布局

C/C++程序为编译后的二进制文件,运行时载入内存,运行时内存分布由代码段、初始化数据段、未初始化数据段、堆和栈构成,如果程序使用了内存映射文件(比如共享库、共...

23110
来自专栏大内老A

WCF服务端运行时架构体系详解[下篇]

作为WCF中一个核心概念,终结点在不同的语境中实际上指代不同的对象。站在服务描述的角度,我们所说的终结点实际上是指ServiceEndpoint对象。如果站在W...

22570
来自专栏小白课代表

文件搜索利器——Everything

41920
来自专栏应兆康的专栏

Python Web - Flask笔记8

CSRF(Cross Site Request Forgery)跨站域请求伪造是一种网络攻击方式。

15210
来自专栏精讲JAVA

web.xml 组件加载顺序

在配置项目组件的过程中, 了解Tomcat加载组件顺序很有必要。 例如某些框架如Quartz的集群功能需要数据库的支持, 数据库的加载肯定要在框架组件加载之前。

12540
来自专栏性能与架构

腾讯前端首屏优化案例

下面是对腾讯前端团队优化手Q一个页面案例的总结 优化目标页面:手Q群成员分布的页面 ? 左面是首屏,右面是下拉后到底部 这个页面中,可以划分成四个部份:活跃...

401100
来自专栏企鹅号快讯

Koa 框架教程

Node 主要用在开发 Web 应用。这决定了使用 Node,往往离不开 Web 应用框架。 ? Koa就是一种简单好用的 Web 框架。它的特点是优雅、简洁、...

34270
来自专栏技术专栏

慕课网Flask构建可扩展的RESTful API-5. Token与HTTPBasic验证 —— 用令牌来管理用户

与网站登录不同的是,网站登录将登录信息写入cookie存储在浏览器,而API只负责生成token发送给客户端,而客户端怎么存储有自己决定。

55650
来自专栏北京马哥教育

高性能HTTP加速器Varnish(安装配置篇)

一、安装Varnish Varnish的安装非常简单,下面逐步介绍: 1、安装前的准备 Varnish安装环境如下表1所示: 表1 主机名 操作系统 IP地址...

35560

扫码关注云+社区

领取腾讯云代金券