第二章:WCF基础(1)

[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中编写

<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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值