WCF 之 终结点与它的ABC

地址(Address):到哪儿可以找到服务

WCF的每一个服务都具有一个唯一的地址(Addressess)。地址包含两个重要元素:服务位置与传输协议,或者是用于服务通信的传输样式。服务位置包括目标机器名、站点或网络、通信端口、管道或队列,以及一个可选的特定路径或者URI(统一资源标识)。

绑定(Binding):如何与服务进行通讯

一个绑定封装了诸如传输协议、消息编码、通信模式、可靠性、安全性、事务传播以及互操作性等相关选项的集合,使得他们保持一致。

契约(Contract):服务能干哪些事

WCF的所有服务都会公开契约(Contract)。契约与平台无关,是描述服务功能标准方式。WCF定义了四种类型的契约。

服务契约(Service Contract)

服务契约描述了客户端能够执行的服务操作。

数据契约(Data Contract)

数据契约定义了与服务交互的数据类型。WCF为内建类型如int和string隐式地定义了契约;我们也可以非常便捷地将定制类型定义为数据契约。

错误契约(Fault Contract)

错误契约定义了服务跑出的错误,以及服务处理错误和传递错误到客户端的方式。

消息契约(Message Contract)

消息契约允许服务直接与消息交互。消息契约可以是类型化的,也可以是非类型化的。如果系统要求互操作性,或者遵循已有消息格式,那么消息契约会非常有用。

终结点(endpoint)

终结点就是地址、契约与绑定的混成品。每一个终结点都包含了三个元素,而宿主则负责公开终结点。从逻辑上将,终结点相当于服务的接口。

每个服务至少必须公开一个业务终结点,每个终结点有切只能拥有一个契约。服务上的所有终结点都包含了唯一的地址,而一个单独的服务则可以公开多个终结点。这些终结点可以使用相同或不同的绑定,公开相同或不同的契约。每个服务提供的不同终结点之间绝对没有任何关联。

时间: 2024-11-10 01:28:04

WCF 之 终结点与它的ABC的相关文章

WCF 配置终结点并调用服务

wcf通过xml文件配置终结点什么的感觉有点小麻烦,个人还是觉得用代码形式配置比较好,当然在发布的时候可能会比较麻烦,需要重新编译... 下面将wcf service寄宿在控制台应用程序中并配置终结点: ? 1 2 3 4 5 6 7 8 9 10 11 using (var host = new ServiceHost(typeof(Service1),                                               new Uri("http://localhos

【WCF】终结点的监听地址

终结点主要作用是向客户端公开一些信息入口,通过这个入口,可以找到要调用的服务操作.通常,终结点会使用三个要素来表述,我记得老蒋(网名:Artech,在园子里可以找到他)在他有关WCF的书里,把这三要素称为“ABC”. A就是Address,就是终结点的地址:B是Binding,绑定,用于描述传输的协议.是否启用安全模式等:C是Contract,即服务协定. 一个服务协定可以由多个终结点公开,比如一个终结点可能使用HTTP协议,另一个则使用TCP等. WCF是否真的像某些人说的那么复杂难学呢?依老

wcf 远程终结点已终止该序列 可靠会话出错

https://social.msdn.microsoft.com/Forums/office/zh-CN/9f0c76d2-85b0-4cd3-979d-ceda7947bcd1/-?forum=wcfzhchs 谢谢. 我重新修改了代码,在S端的”发送数据服务“的代码中添加了Current.Channel.Faulted += new EventHandler(Channel_Faulted);也就是说每次A发送数据的时候,都会有个判断机制,告诉S端如果通道出了问题就执行Channel_Fa

wcf客户端终结点样本集合

1. 1 <bindings> 2 <basicHttpBinding> 3 <binding name="BasicHttpBinding_IUser" /> 4 </basicHttpBinding> 5 </bindings> 6 <client> 7 <endpoint address="http://localhost:2059/User.svc" binding="b

WCF初探-21:WCF终结点(endpoint)

WCF终结点概述 在之前文章的示例中,我们都是通过配置服务的终结点(endpoint)发布的服务,供客户端调用,这是因为WCF服务的所有通信都是通过该服务的终结点进行的.每个终结点(endpoint)包含四个属性. 一个指示可以查找终结点的位置的地址. 一个指定客户端如何与终结点进行通信的绑定. 一个标识可用操作的协定. 一组指定终结点的本地实现细节的行为. 终结点的结构 WCF服务终结点(endpoint)通信结构 终结点(endpoint)的组成内容 终结点地址 每个终结点都具有与其关联的地

WCF服务编程 读书笔记——第1章 WCF基础(1)

第1章 WCF基础 本章主要介绍WCF的基本概念.构建模块以及WCF体系架构,以指导读者构建一个简单的WCF服务.从本章的内容中,我们可以了解到WCF的基本术语,包括地址(Address).绑定(Binding).契约(Contract)和终结点(Endpoint):了解如何托管服务,如何编写客户端代码:了解WCF的相关主题,诸如进程内托管(In-Proc Hosting)以及可靠性的实现.即使你已经熟知WCF的基本概念,仍然建议你快速浏览本章的内容,它不仅能够巩固你的已有知识,而且本章介绍的一

【踩坑(Running)填坑(ZSSURE)】:WCF学习之InstanceContextMode与ConcurrencyMode

背景: WCF可以看作是微软对SOA架构的一种实现,或者说WCF的存在让开发者更容易创建面向服务的程序.面向服务本身不是一种技术,而是设计和实现软件的一种架构方式.从最早的面向过程(PO).面向对象编程(OO),到后来的面向服务(SO).面向资源(RO)编程,本身没有本质区别,反映出的是人们认识世界的方法论的迭代进化. PO.OO.SO.RO,还有一个不沾边的O2O,各种概念层出不穷,在学习使用时要切忌混淆.今天这里记录的是在WCF框架下(面向服务架构--SOA--的一种实现),如何进行多线程及

重新学习WCF

近来工作不怎么忙,一直在想一个问题,今年刚刚毕业,对于我们这应届生到底应该学习那些技术呢? 面对着现在技术横生,到底哪项是适合自己的呢?自己一直都在迷茫,若有那位大神再次经过,望给出您宝贵的建议. 最近思来想去,觉得首先应该将分布式和云计算学习好,云计算赶脚很高端大气上档次,自觉打好基础在学习,提到分布式,想到了微软的分布式通讯技术WCF. WCF曾经学习看过一点,到都是蜻蜓点水,就知道有WCF这回事,今天决定重新来学习下,希望每天记录点学习成果. 废话不多说了,进入正题.今天写了一个最基础的W

[Solution] WCF(1) 快速入门

Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台.整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术.是Windows平台上开发分布式应用最佳的实践方式. 安装:在.net framework 3.0的时候已经内置了WCF. 由于WCF的服务不能孤立地存在,需要寄宿于一个运行着的进程中,我们把承载W