WCF 框架运行时类图

简介:

本文画出了 WCF 框架运行时的重点类之间的类关系图。

 

  • Binding

一个 Binding 由多个 BindingElement 组成。BindingElement 作为主要的扩展点。每一个 BindingElement 描述某个独立的行为。最终 Binding 使用一连串的 BindingElement 来生成Channel。

image

 

  • Description

Description 表示服务的元数据,用于描述服务本身。一个服务包括多个终结点,一个终结点对应一个绑定、对应一个契约、多个操作。而服务、终结点、契约、操作,都可以附加多个行为来对其进行控制。

image

 

  • Behaviors

下面是四类行为用于控制的类型。

image

image

image

 

  • Behavior Invoke flow

框架内部对于行为的调用顺序:

image

 

  • Client Runtime

客户端运行时类型,用于控制客户端运行时行为。

image

 

  • Server Runtime

服务端运行时类型。相对客户端的运行时,要复杂一些。

image

对运行时扩展时,一般使用 Behavior。如果想使用配置文件声明的方式,则应该封装到 BindingElementExtensionElement 或者 BehaviorExtensionElement 中。


本文转自BloodyAngel博客园博客,原文链接:http://www.cnblogs.com/zgynhqf/p/3208137.html,如需转载请自行联系原作者

相关文章
|
9月前
|
C++
WCF框架-分布式联调
WCF框架-分布式联调
56 0
|
9月前
|
网络协议 网络架构 Windows
框架学习——WCF框架
框架学习——WCF框架
230 0
|
9月前
|
Windows
安装wcf框架
安装wcf框架
|
9月前
|
API 数据库
如何使用WCF框架和EF框架实现对数据库的操作
如何使用WCF框架和EF框架实现对数据库的操作
|
9月前
|
数据库 C# 数据安全/隐私保护
使用分布式框架WCF出现的BUG记录
使用分布式框架WCF出现的BUG记录
|
XML 监控 数据格式
Wcf通讯基础框架方案(二)——集中配置
从这次开始在几个方面简单阐述一下实现,集中配置是这个框架很大的一个目的,首先在数据库中会有这么一些表: 其实可以看到这些表的结构,应该是和配置节点中的层次有对应的 1) Service表描述的是服务,主要保存服务行为以及服务的配置。
578 0
|
监控
Wcf通讯基础框架方案(三)——客户端
假设定义了一个服务契约: [ServiceContract(Namespace = "WcfExtension.Services.Interface")] public interface ITestService { [OperationContract] ...
689 0
|
监控 负载均衡 缓存
Wcf通讯基础框架方案(四)——横切日志
在第一篇文章中已经列出了几种日志的概览: 所有的日志都有一个最终基类,来看看这个类: [DataContract(Namespace = "WcfExtension")] [KnownType(typeof(WcfExceptionInfo))] [KnownType(t...
609 0
|
缓存 NoSQL Redis
Wcf通讯基础框架方案(五)——更新通知
对于负载均衡环境,多服务器内存中缓存数据的话,需要解决的一个很重要的问题就是一旦数据库中数据有更新,怎么让缓存的数据立即更新? 如果可以容忍延迟或是差异性的话,可以考虑缓存的数据有一个过期时间。但是,最好的方式还是采用通知方式,或者说发布订阅方式。
756 0
|
监控 NoSQL
Wcf通讯基础框架方案(一)——基本结构
由于希望使用Wcf作为公司内的通讯框架,因此基于Wcf进行了一些扩展,主要的目的有以下几个方面: 1) 希望减少客户端调用的复杂度,调用方式简化为WcfServiceLocator.Create().Add(1,2)。
770 0