[size=large][color=red]原文:[url]http://www.wcftutorial.net/Introduction-to-WCF.aspx[/url][/color][/size]
[size=x-large][color=orange]终结点EndPoint[/color][/size]
WCF服务公布出出一系列的终结点信息,每个终结点都是和外界交互的入口。所有的WCF通信都是通过这些终结点发生的,每个终结点都是由以下三个部分组成的:
[size=large][b]Address[/b][/size]
基础URL,指示了WCF服务部署的路径。客户端使用url来连接服务
http://localhost:8090/MyService/SimpleCalculator.svc
[size=large][b]Binding[/b][/size]
Binding描述了客户端通过何种方式与服务端进行通信,有好几种通信协议给服务端和客户端通信,可以根据自己的需求来选择协议。
Binding有多种不同的特征,如下:
传输 - 定义了基本的协议,如HTTP,Named Pipes,TCP和MSMQ等
编码(可选) - 三种类型的编码是可行的Text,Binary或者消息传输优化机制(MTOM),MTOM是一种互操作性的消息格式,可以更有效的传输更大的消息(大于64K)
协议(可选) - 定义在绑定的时候使用的安全机制,传输机制或者可信消息
下面的表格列出了WCF绑定所支持的协议
[table]
|[size=large][b]Binding[/b][/size]|[size=large][b]Description[/b][/size]|
|BasicHttpBinding|基本的Web服务通信,没有安全机制|
|WSHttpBinding|支持WS-*的Web服务通信,支持事务|
|WSDualHttpBinding|支持双工契约的Web服务通信,支持事务|
|WSFederationHttpBinding|支持联合契约的Web服务通信,支持事务|
|MsmqIntegrationBinding|与MSMQ直接通信的Web服务通信,支持事务|
|NetMsmqBinding|使用队列与WCF应用进行通信的Web服务通信,支持事务|
|NetNamedPipeBinding|在同一台计算机上的WCF应用进行通信的Web服务通信,支持双工和支持事务|
|NetPeerTcpBinding|在不同的计算机之间使用P2P进行通信的Web服务通信,支持双工|
|NetTcpBinding|在不同的计算机之间进行通信的Web服务通信,支持双工和事务|
[/table]
[size=large][b]Contract[/b][/size]
具体说明和外部进行通信的终结点所提供的一系列的操作,通常契约文件会提到接口,这样客户端就可以通过这个接口了解契约所提供发操作,每一个操作都是一个简单的交换模式单向,双工,请求/响应
下面这张图说明了终结点的作用
[img]http://www.wcftutorial.net/Images/040100_EndPoint.jpg[/img]
例子:
在创建服务的时候在web.config中编写
[size=x-large][color=orange]终结点EndPoint[/color][/size]
WCF服务公布出出一系列的终结点信息,每个终结点都是和外界交互的入口。所有的WCF通信都是通过这些终结点发生的,每个终结点都是由以下三个部分组成的:
[size=large][b]Address[/b][/size]
基础URL,指示了WCF服务部署的路径。客户端使用url来连接服务
http://localhost:8090/MyService/SimpleCalculator.svc
[size=large][b]Binding[/b][/size]
Binding描述了客户端通过何种方式与服务端进行通信,有好几种通信协议给服务端和客户端通信,可以根据自己的需求来选择协议。
Binding有多种不同的特征,如下:
传输 - 定义了基本的协议,如HTTP,Named Pipes,TCP和MSMQ等
编码(可选) - 三种类型的编码是可行的Text,Binary或者消息传输优化机制(MTOM),MTOM是一种互操作性的消息格式,可以更有效的传输更大的消息(大于64K)
协议(可选) - 定义在绑定的时候使用的安全机制,传输机制或者可信消息
下面的表格列出了WCF绑定所支持的协议
[table]
|[size=large][b]Binding[/b][/size]|[size=large][b]Description[/b][/size]|
|BasicHttpBinding|基本的Web服务通信,没有安全机制|
|WSHttpBinding|支持WS-*的Web服务通信,支持事务|
|WSDualHttpBinding|支持双工契约的Web服务通信,支持事务|
|WSFederationHttpBinding|支持联合契约的Web服务通信,支持事务|
|MsmqIntegrationBinding|与MSMQ直接通信的Web服务通信,支持事务|
|NetMsmqBinding|使用队列与WCF应用进行通信的Web服务通信,支持事务|
|NetNamedPipeBinding|在同一台计算机上的WCF应用进行通信的Web服务通信,支持双工和支持事务|
|NetPeerTcpBinding|在不同的计算机之间使用P2P进行通信的Web服务通信,支持双工|
|NetTcpBinding|在不同的计算机之间进行通信的Web服务通信,支持双工和事务|
[/table]
[size=large][b]Contract[/b][/size]
具体说明和外部进行通信的终结点所提供的一系列的操作,通常契约文件会提到接口,这样客户端就可以通过这个接口了解契约所提供发操作,每一个操作都是一个简单的交换模式单向,双工,请求/响应
下面这张图说明了终结点的作用
[img]http://www.wcftutorial.net/Images/040100_EndPoint.jpg[/img]
例子:
在创建服务的时候在web.config中编写
<system.serviceModel>
<services>
<service name="MathService" behaviorConfiguration="MathServiceBehavior">
<endpoint address="http://localhost:8090/MyService/MathService.svc" contract="IMathService" binding="wsHttpBinding"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MathServiceBehavior">
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>