《WCF技术剖析(卷2)》目录

简介:

第1章 异常处理 (Exception Handling)

1.1.    WCF基本异常处理模式

1.1.1.     当异常从服务端抛出(S101

1.1.2.     异常细节的传播(S102

1.1.3.     自定义异常信息

1.2.    错误消息与FaultException异常

1.2.1.     SOAP Fault说起

1.2.2.     唯一可被传播的异常:FaultException

1.2.3.     FaultException异常和错误消息之间的转换

1.3.    WCF异常处理体系剖析

1.3.1.     FaultFormatter

1.3.2.     ServiceDebugBehavior如何实现对异常细节传播?

1.4.    WCF异常处理扩展

1.4.1.     错误处理器(ErrorHandler

1.4.2.     实例演示:通过WCF扩展实现同EntLib的集成(S105

第2章元数据 (Metadata)

2.1.    WCF元数据架构体系简介

2.1.1.     WS-MEX

2.1.2.     MetadataSection与MetadataSet

2.1.3.     WCF元数据架构模型

2.2.    元数据的导出

2.2.1.     MetadataExporter和WsdlExporter

2.2.2.     WSDL导出扩展和策略导出扩展

2.3.    元数据的发布

2.3.1.     元数据发布的实现者:ServiceMetadataBehavior

2.3.2.     MEX 终结点有何不同?

2.3.3.     ServiceMetadataBehavior是如何实现元数据发布的?

2.4.    元数据的获取和导入

2.4.1.     自己动手实现元数据的获取

2.4.2.     通过MetadataExchangeClient获取元数据(S206

2.4.3.     MetadaImporter与元数据导入

第3章 事务 (Transaction)

3.1.    WCF需要怎样的事务控制?

3.1.1.     什么是事务(Transaction)?

3.1.2.     事务的显式控制

3.1.3.     分布式事务(Distributed Transaction)应用场景

3.2.    Windows下的事务处理模型

3.2.1.     事务模型中的三种角色

3.2.2.     分布式事务是如何实现的?

3.2.3.     System.Transactions事务

3.3.    事务处理协议:OleTx和WS-AT

3.3.1.     WS-Coordination

3.3.2.     WS-AT

3.4.    WCF事务编程

3.4.1.     通过服务契约决定事务流转的策略

3.4.2.     通过绑定实施事务的流转

3.4.3.     通过服务(操作)行为控制事务

3.4.4.     实例演示:创建事务型服务(S301

3.5.    WCF事务实现原理

3.5.1.     TransactionFlowAttribute行为

3.5.2.     事务绑定

3.5.3.     事务的自动登记(Enlistment

3.5.4.     OleTx提升(OleTx Upgrade)机制

第4章 并发与限流 (Concurrency and Throttling)

4.1.    并发与实例上下文模式

4.1.1.     同一个服务实例上下文同时处理多个服务调用请求

4.1.2.     并发中的同步

4.1.3.     并发与实例上下文模式

4.2.    同步上下文与线程亲和性

4.2.1.     倘若去除ServiceBehaviorAttribute的UseSynchronizationContext属性(S407

4.2.2.     什么是同步上下文(SynchronizationContext)?

4.2.3.     WCF中的同步上下文与线程亲和性

4.3.    流量限制(Throttling

4.3.1.     如何进行限流控制?

4.3.2.     WCF限流控制是如何实现的?

第5章 可靠会话 (Reliable Sessions)

5.1.    可靠消息传输(Reliable Messaging

5.1.1.     TCP对报文段的可靠交付机制说起

5.1.2.     WS-RM简介

5.2.    编写可靠会话服务

5.2.1.     实例演示:通过WCF服务传输图片(S501

5.2.2.     可靠会话绑定

5.3.    可靠会话的实现原理

5.3.1.     从信道层看可靠会话的实现

5.3.2.     从传输协议的局限性和消息交换模式看可靠会话的实现

5.3.3.     可靠会话最佳实践

第6章 队列服务 (Queued Services)

6.1.    MSMQ简介

6.1.1.     MSMQ能解决什么问题?

6.1.2.     MSMQ的安装

6.1.3.     消息队列

6.1.4.     MSMQ编程

6.2.    从队列服务的终结点谈起

6.2.1.     地址

6.2.2.     绑定

6.2.3.     契约

6.3.    事务控制

6.3.1.     MSMQ事务模型

6.3.2.     客户端事务

6.3.3.     服务端事务

6.3.4.     事务性批量接收

6.4.    会话

6.4.1.     客户端会话

6.4.2.     服务端会话

6.5.    错误处理

6.5.1.     接收重试(S605, S606

6.5.2.     接收错误处理

6.5.3.     死信消息处理

6.5.4.     日志(Journaling )与跟踪(Tracing

第7章 传输安全 (Transfer Security)

7.1     传输安全简介

7.1.1      分布式应用中的传输安全隐患

7.1.2      非对加密(Asymmetric Cryptography

7.1.3      Transport与Message安全模式

7.2     认证(Authentication

7.2.1      认证与凭证(User Credential

7.2.2      绑定、安全模式与客户端凭证类型

7.2.3      服务认证

7.2.4      客户端认证

7.2.5      ServiceCredentials V.S. ClientCredentials

7.3     消息保护(Message Protection

7.3.1      消息的保护级别

7.3.2      签名与加密的实现

7.3.3      安全会话(Secure Sessions

第8章 授权与审核 (Authorization and Auditing)

8.1.    身份(Identity)与安全主体(Principal

8.1.1.     身份(Identity

8.1.2.     安全主体(Principal

8.2.    Windows用户组授权

8.2.1.     Windows用户组授权与认证的关系

8.2.2.     Windows用户组授权编程

8.2.3.     实例演示:基于Windows用户组的声明式授权(S801

8.2.4.     身份模拟(Impersonation

8.3.    ASP.NET Roles授权

8.3.1.     ASP.NET Roles提供程序

8.3.2.     ASP.NET Roles授权与认证的无关性

8.3.3.     ASP.NET Roles授权 编程

8.3.4.     实例演示:不同认证方式下的ASP.ENT Roles授权

8.3.5.     实例演示:通过WCF扩展实现授权(S805

8.4.    自定义授权方式

8.4.1.     通过自定义AuthorizationPolicy和ServiceAuthorizationManager创建安全主体

8.4.2.     Claim和ClaimSet

8.4.3.     自定义授权实现原理剖析

8.4.4.     实例演示:通过自定义AuthorizationPolicy和ServiceAuthorizationManager实现授权(S806

8.5.    安全审核(Security Auditing

8.5.1.     ServiceSecurityAuditBehavior服务行为

8.5.2.     安全审核的实现

8.5.3.     实例演示:如何实施安全审核

第9章 扩展 (Extensions)

9.1.    服务端架构体系的构建

9.1.1.     再谈服务描述(Service Description)谈起

9.1.2.     终结点分发器选择机制

9.1.3.     信道分发器(ChannelDispatcher

9.1.4.     终结点分发器(EndpointDispatcher

9.1.5.     分发运行时(DispatchRuntime

9.1.6.     分发操作(DispatchOperation

9.2.    客户端架构体系的构建

9.2.1.     创建ChannelFactory<TChannel>

9.2.2.     客户端运行时(ClientRuntime

9.2.3.     客户端操作(ClientOperation

9.2.4.     服务代理与服务调用

9.3.    通过定义四种行为对WCF的扩展

9.3.1.     WCF四种类型的行为

9.3.2.     行为方法的执行

9.3.3.     实例演示:通过扩展确保语言文化一致性(S901

9.4.    ServiceHost对WCF的扩展

9.4.1.     自定义ServiceHost的本质:对服务描述进行定制

9.4.2.     自定义ServiceHost的创建者:ServiceHostFactory

9.4.3.     实例演示:通过扩展实现基于IoC的服务实例的创建(S903,S904

第10章 WCF 4.0新特性(New Features in WCF 4.0)

10.1.     简化开发体验

10.1.1.       默认终结点

10.1.2.       默认绑定配置

10.1.3.       默认行为配置

10.1.4.       标准终结点

10.1.5.       .svc文件服务激活

10.2.     路由服务(Routing Service)

10.3.1.       路由服务就是一个WCF服务

10.3.2.       基于消息内容的路由策略

10.3.3.       实例演示:如果使用路由服务(S1001

10.3.4.       其他路由特性

10.3.     服务发现(Service Discovery

10.3.1.       WS-Discovery

10.3.2.       可被发现的服务(Discoverable Service

10.3.3.       目标服务的探测和解析

10.3.4.       实例演示:如何利用服务发现机制实现服务的“动态”调用?(S1002

10.3.5.       DynamicEndpoint(S1003

10.3.6.       服务上/下线通知

10.3.7.       发现代理(Discovery Proxy


作者:蒋金楠
微信公众账号:大内老A
微博: www.weibo.com/artech
如果你想及时得到个人撰写文章以及著作的消息推送,或者想看看个人推荐的技术资料,可以扫描左边二维码(或者长按识别二维码)关注个人公众号(原来公众帐号 蒋金楠的自媒体将会停用)。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
相关文章
一起谈.NET技术,基于CallContextInitializer的WCF扩展导致的严重问题
  WCF是一个具有极高扩展度的分布式通信框架,无论是在信道层(Channel Layer)还是服务模型层(Service Model),我们都可以自定义相关组件通过相应的扩展注入到WCF运行环境中。在WCF众多可扩展点中,ICallContextInitializer可以帮助我们在服务操作执行前后完成一些额外的功能,这实际上就是一种AOP的实现方式。
852 0
|
索引
一起谈.NET技术,Silverlight+WCF 新手实例 象棋 主界面-棋谱-回放-结局(四十)
查看本系列其他相关文章请点击:Silverlight+WCF 新手实例象棋专题索引 在线演示地址:Silverlight+WCF 新手实例 象棋 在线演示 在Silverlight+WCF 新手实例 象棋 主界面-棋谱-回放(三十九)中,我们实现了用户的棋谱回放,在文章的下面,我们曾留下了两...
920 0
|
网络协议
一起谈.NET技术,使命必达:深入剖析WCF的可靠会话
  作为一个通信基础平台,WCF必须保证通信的可靠性。由于消息交换是WCF采用的通信手段,通信可靠性的保障体现在确保消息的可靠传输。WCF本质上是一个消息处理框架,作为整个消息交换系统的两个终端,即发送端和接收端。
960 0
一起谈.NET技术,Siverlight与WCF通信之双工netTcp实现视频对话
  效果   先看看效果再说,基本逻辑是两个人通过Silverlight端,借助TCP协议分别向服务器不断传输视频,服务器接收到视频后,会检测这些视频是发给谁的,然后回调某个客户端来接收并显示这些视频。
1058 0
|
安全 C#
WCF技术我们应该如何以正确的方式去学习掌握
一、WCF技术我该如何学习?       阿笨的回答是:作为初学者的我们,那么请跟着阿笨一起玩WCF吧,阿笨将带领大家如何以正确的姿势去掌握WCF技术。由于WCF技术知识点太多了,就纯基础概念性知识都可以单独出一本书来讲解,本次分享课程《C#面向服务编程技术WCF从入门到实战演练》开课之前,阿笨还是希望从没了解过WCF技术的童鞋们提前先了解一下WCF技术,至少要明白WCF技术的ABC三要素分别指的是什么。
1171 0