什么是WCF中的“端点”?

我的印象是,一个端点被定义在一个configuration文件中作为可能的客户端列表,但这没有任何意义(我认为它说什么电脑可以连接到该服务)现在我收集,它是更多的一个定义,那么请有人解释一下我的终点是什么? 我理解定义契约接口的概念,然后执行契约,但我迷失在那里,实际上有一些可用的东西。

什么是这方面的地址? 主机地址?

绑定是通信方法/协议使用正确吗?

合同本质上是“共享的对象”(是的,我知道这在技术上是不正确的,但在这里与我一起工作)

一个端点是一个服务公开的内容,WCF术语由三件事组成:

  • 地址
  • 捆绑
  • 合同

地址是可以到达端点的URL。

绑定决定了所应用的转换,以及发送给地址处契约实现的消息的形状(某种程度上)。

合同规定了在该地址处正在进行的操作。 这正是它所说的,这是一个合同,指出哪些电话是允许的。

大多数时候,人们记得它是AB C.

有些事情要注意:

绑定通常将是应用行为的渠道组合; 通道是通道堆栈上的元素,它们修改消息并在执行服务之前执行操作。

虽然在.NET中通常用一个接口来表示,但并不要求以这种方式来表示合同。 一些devise优先倡导者将定义将要发送的请求和响应的消息的模式,这是WCF将.NET契约接口转换成的。

我将在这里引用Juval Lowy的编程WCF服务

每个服务都与定义服务所在的地址,定义如何与服务通信的绑定以及定义服务的合同相关联。 作为服务的基础,这种三重pipe理服务很容易记住。

WCF以端点的forms将这种关系正式化。 端点是地址,合同和绑定的融合。

每个端点必须拥有全部三个元素,主机才能暴露端点。

WCF中的端点
WCF服务是一个暴露端点集合的程序。 每个端点都是与世界进行交stream的门户。 终点由三部分组成。
1) 地址
定义服务所在的位置
前 – http://www.test.com:8001/MyService
2) 绑定
指定客户端如何与端点进行通信的绑定。
ex – BasicHttpBinding,WSHttpBinding,WSDualHttpBinding等
3) 合同
标识可用操作的合同

terminal将在创build的服务的web.config文件中提及。

服务端点具有地址,绑定和合同。 端点地址是端点所在的networking地址。 EndpointAddress类表示一个WCF端点地址。 端点绑定指定端点如何与包括传输协议(例如,TCP,HTTP),编码(例如,文本,二进制)以及安全要求(例如,SSL,SOAP消息安全性)在内的世界进行通信。 Binding类表示一个WCF绑定。 端点的合约规定了端点通信的内容,实质上是一系列具有基本消息交换模式(MEP)(如单向,双工和请求/回复)的操作中组织的消息。 ContractDescription类代表一个WCF合约。

请参阅:服务端点指定用于通信的地址,绑定和合约。

服务端点具有地址,绑定和合同。 端点地址是端点所在的networking地址。 EndpointAddress类表示一个WCF端点地址。 端点绑定指定端点如何与包括传输协议(例如,TCP,HTTP),编码(例如,文本,二进制)以及安全要求(例如,SSL,SOAP消息安全性)在内的世界进行通信。 Binding类表示一个WCF绑定。 端点的合约规定了端点通信的内容,实质上是一系列具有基本消息交换模式(MEP)(如单向,双工和请求/回复)的操作中组织的消息。 ContractDescription类代表一个WCF合约。

Web服务端点可以隐藏其中的一部分或全部。 并根据请求可以决定内部请求的处理。

SRJTester工具(在Github上可用)很好地指定端点,操作,协议等,同时提出服务请求。