我的印象是,在配置文件中将端点定义为可能的客户端列表,但这没有任何意义(从某种意义上说,我认为它说的是计算机可以连接到服务)现在我正在收集这更像是一个定义,所以有人请解释一下我的终点是什么吗?我理解定义合同界面然后实施合同的概念,但我在那里之间丢失了,实际上有一些可用的东西。
在这种情况下,地址是什么?主持人地址?
绑定是使用正确的通信方法/协议吗?
合同本质上是“共享的对象”(是的,我知道技术上不正确,但在这里与我合作)
答案 0 :(得分:70)
端点是服务公开的内容,并且在WCF术语中,由三个部分组成:
地址是可以通过其访问端点的URL。
绑定指示应用的转换以及发送到地址合同实现的消息的形状(在某种程度上)。
合同规定了在该地址公开的操作。它正是它所说的,它是一个合同,表明允许哪些电话。
大多数时候,人们都记得它是A B C.
有些注意事项:
绑定通常是应用了行为的渠道组合;通道是通道堆栈上的元素,它们在到达服务实现之前修改消息并执行操作。
虽然通常由.NET中的接口表示,但并不要求以这种方式表示合同。一些设计优先倡导者将为将要为请求和响应发送的消息定义模式,这是WCF将.NET Contract接口转换为。
答案 1 :(得分:17)
我将在这里引用Juval Lowy的编程WCF服务:
每个服务都与一个定义位置的地址相关联 service是一个定义如何与之通信的绑定 服务,以及定义服务功能的合同。这个 管理服务的三巨头很容易记住作为ABC的 服务。
WCF以端点的形式正式化这种关系。该 端点是地址,合同和绑定的融合。
每个端点必须包含所有三个元素,并且主机公开 端点。
答案 2 :(得分:12)
WCF中的端点
WCF服务是一个公开一组端点的程序。每个端点都是与世界通信的门户。
终点由三个部分组成
1)地址:
定义服务所在的位置
前 - http://www.test.com:8001/MyService
2)绑定:
一种绑定,指定客户端如何与端点通信。
ex - BasicHttpBinding,WSHttpBinding,WSDualHttpBinding等
3)合同:
确定可用操作的合同
将在创建的服务的web.config文件中提及端点。
答案 3 :(得分:5)
服务端点具有地址,绑定和合同。 端点的地址是端点所在的网络地址。 EndpointAddress类表示WCF端点地址。 端点绑定指定端点如何与世界通信,包括诸如传输协议(例如,TCP,HTTP),编码(例如,文本,二进制)和安全要求(例如,SSL,SOAP消息安全性)之类的事物。 Binding类表示WCF绑定。 端点协议指定端点通信的内容,实质上是在具有基本消息交换模式(MEP)的操作中组织的消息集合,例如单向,双工和请求/回复。 ContractDescription类表示WCF合同。
答案 4 :(得分:3)
参见here: 服务端点指定用于通信的地址,绑定和合同。
答案 5 :(得分:1)
服务端点具有地址,绑定和合同。端点的地址是端点所在的网络地址。 EndpointAddress类表示WCF端点地址。端点绑定指定端点如何与世界通信,包括诸如传输协议(例如,TCP,HTTP),编码(例如,文本,二进制)和安全要求(例如,SSL,SOAP消息安全性)之类的事物。 Binding类表示WCF绑定。端点协议指定端点通信的内容,实质上是在具有基本消息交换模式(MEP)的操作中组织的消息集合,例如单向,双工和请求/回复。 ContractDescription类表示WCF合同。
答案 6 :(得分:0)
Web服务端点可以隐藏部分或全部这些内容。并根据请求可以在内部决定Request的处理。
SRJTester工具(在Github上可用)很高兴在提出服务请求时指定端点,操作,协议等。
答案 7 :(得分:0)
Endpoint 用于配置客户端应用程序和 WCF 服务之间的通信通道
终点样本
<endpoint address="http://localhost:3901/Service1.svc"
binding="basicHttpBinding"
contract="ServiceReference.IService1" bindingConfiguration="BasicHttpBinding_IService1"
name="BasicHttpBinding_IService1" />