WCF入门(四)---WCF架构
WCF是一个分层架构,为开发各种分布式应用的充分支持。该体系结构在下面将详细说明。
约定
约定层旁边就是应用层,并含有类似于现实世界的约定,指定服务和什么样的信息可以访问它会使操作的信息。约定基本都是在简短的讨论如下四种类型。
Service contract - 约定规定,在沟通过程中使用的信息给客户端,以及对终端的产品和协议的外部世界。
Data contract - 由服务交换的数据是由一个数据契约定义。客户端和服务需要在与数据合同协议。
Message Contract - 数据合同由约定信息控制。它主要是SOAP消息的参数类型格式的定制。在此,应该提到的是WCF采用SOAP格式进行通信。 SOAP代表简单对象访问协议。
Policy and Binding - 由策略和有约束力的约定被定义为一个服务,这样的条件下通信的某些先决条件。客户端需要遵循这一约定。
服务运行时
服务运行时层仅仅是约定层之下。它指定在运行时出现的各种服务行为。有许多类型的行为,可以进行配置,如下的服务运行。
Throttling Behavior - 管理处理的消息的数量
Error Behavior – 定义任何内部服务错误发生的结果
Metadata Behavior – 指定的元数据的可用性到外界
Instance Behavior – 定义要创建需要的实例的数量,以使它们可用于在客户端
Transaction Behavior – 能够在事务状态的变化的情况下出现任何故障
Dispatch Behavior - 控制由该消息得到了WCF的基础处理方式
Concurrency Behavior - 控制的客户端 - 服务器通信过程中并行运行功能
Parameter Filtering - 功能参数的方法验证的过程,在它被调用之前
消息
这层几个通道构成主要涉及两个端点之间传送的消息的内容。一组通道的形成通道堆栈和构成的通道堆栈的下面那些渠道的两种主要类型。
Transport Channels - 这些通道都存在于栈底和负责发送和接收使用像HTTP,TCP,P2P,命名管道和MSMQ传输协议的消息。
Protocol Channels - 存在于堆栈的顶部,这些信道也被称为层状通道通过修改消息实现线级协议。
激活和托管
WCF的体系结构的最后一层是其中服务实际上是托管,或者可以以方便客户端被执行的地方。这是通过在下面简要讨论的各种机制进行。
IIS - 互联网信息服务的缩写提供使用HTTP协议通过服务优势很多。这里主机代码的要求不是强制性的,用于激活该服务代码,相反,服务码被自动激活。
Windows激活服务 - 这就是俗称WAS和带有IIS7.0。 HTTP和非HTTP通信,可以在这里通过使用TCP或Namedpipe协议。
Self-Hosting - 这是由一个WCF服务获取自托管的控制台应用程序的机制。这种机制提供了惊人的灵活选择所需的协议和设置自己的解决方案方面。
Windows Service - 主持这一机制的WCF服务是有利的,因为该服务保持激活状态,并接触到客户端,由于没有运行时激活。
原文地址:http://www.yiibai.com/wcf/wcf_architecture.html
WCF入门(四)---WCF架构的更多相关文章
- WCF入门四[WCF的通信模式]
一.概述 WCF的通信模式有三种:请求/响应模式.单向模式和双工通信. 二.请求/响应模式 请求/响应模式就是WCF的默认模式,前面几篇随笔中的示例都是这种模式,当客户端发送请求后(非异步状态下),即 ...
- WCF入门三[WCF宿主]
一.概述 WCF程序必须在宿主上运行,也就是WCF服务必须寄宿在某一个windows的进程中,可以是IIS.控制台程序.窗体程序.WAS以及所有.net程序等程序进程中.在我用VS2013创建WCF服 ...
- WCF入门一[WCF概述]
一.什么是WCF WCF是使用托管代码建立和运行面向服务(Service Oriented)应用程序的统一框架.它使得开发者能够建立一个跨平台的.安全.可信赖.事务性的解决方案,且能与已有系统兼容协作 ...
- WCF入门教程[WCF基本应用]
一.概述 Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口,它是.NET框架的一部分.由 .NE ...
- WCF入门二[WCF的配置文件]
一.概述 往往在很多项目中数据库连接字符串.变量和一些动态的加载类会写在配置文件中.WCF也会在配置文件中写入一些配置参数,比如服务的地址.服务用于发送和接收消息的传输和消息编码等,通过配置文件可以灵 ...
- 纯手写wcf代码,wcf入门,wcf基础教程
1.定义服务协定 =>定义接口 using System.ServiceModel; namespace WcfConsole { /// <summary> /// 定义服 ...
- WCF入门教程(四)通过Host代码方式来承载服务 一个WCF使用TCP协议进行通协的例子 jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding System.ServiceModel.WSHttpBinding协议 学习WCF笔记之二 无废话WCF入门教程一[什么是WCF]
WCF入门教程(四)通过Host代码方式来承载服务 Posted on 2014-05-15 13:03 停留的风 阅读(7681) 评论(0) 编辑 收藏 WCF入门教程(四)通过Host代码方式来 ...
- WCF入门教程(四)通过Host代码方式来承载服务
WCF入门教程(四)通过Host代码方式来承载服务 之前已经讲过WCF对外发布服务的具体方式. WCF入门教程(一)简介 Host承载,可以是web,也可以是控制台程序等等.比WebService有更 ...
- WCF入门教程(五)配置文件
WCF入门教程(五)配置文件 服务协定以及实现写好后,需要将相关服务公布出去,就需要HOST来承载,供客户端来调用. 承载服务有两种方式,一种通过配置文件,一种通过代码进行配置.上一章已经介绍了代码方 ...
随机推荐
- 基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏
function orient() {if (window.orientation == 90 || window.orientation == -90) {//ipad.iphone竖屏:Andri ...
- nginx服务器绑定域名和设置根目录
首先进入nginx安装目录的配置目录conf,然后执行 vi conf/nginx.conf 打开nginx的配置文件,找到并修改红字部分 server { listen default_server ...
- mysql5.7.12安装过程中遇到的一些问题
在安装mysql-5.7.12-winx64中遇到的问题总结 1.该版本的mysql解压后的文件夹里没有data文件(切记自己添加data,自己添加的文件可能出现的问题是文件里的文件会缺失) 我在使用 ...
- SQL多表连接
在KS系统中分配好权限以后,在用户登录的时候就要通过用户查到角色,通过角色查到界面,界面又属于某个菜单,一共要查4个表.并且不能有重复的记录这个时候就用到了SQL的内连接.SQL的多表连接很方便,以前 ...
- ubuntu 12.04版本出现界面终端打开broken pipe,但是tty1这些可以。
sudo apt-get remove xserver-xorg sudo apt-get install xserver-xorg
- 【nodejs】jade模板入门
使用jetbrians webstom创建空项目 1.创建package.json 引用依赖配置 { "name": "demojade", "des ...
- swift UIAlertController教程
在iOS8中,UIAlertView与UIActionSheet都已经退休,取而代之的是UIAlertController!它的使用示范如下://弹出一个警告框,标题是“提示”,信息是“我的博客:oa ...
- ios开发--旋转、移动、缩放手势实例代码
代码如下: // 添加所有的手势 - (void) addGestureRecognizerToView:(UIView *)view { // 旋转手势 UIRotationGestureRecog ...
- WebAPi性能
提高WebAPi性能 前言 WebAPi作为接口请求的一种服务,当我们请求该服务时我们目标是需要快速获取该服务的数据响应,这种情况在大型项目中尤为常见,此时迫切需要提高WebAPi的响应机制,当然 ...
- Notes of the scrum meeting(10/28)
meeting time:4:00~6:00p.m.,October 28th,2013 meeting place:雕刻时光 attendees: 顾育豪 ...