Default WCF bindings for endpoint

   WCF虽然好(具有互操作性的Web服务,分布式事务,支持WS标准,消息队列……),但是他要配置很多的东西在配置文件中,一旦有弄不好的地方,还得调试半天。如果以配置的方式为服务添加至少一个终结点,而终结点需要具备基本的ABC三要素。这个过程很是繁琐。有没有好的办法呢?小编,从网上找了一个伙计的博客,给大家分享一下。

  基于.NET Framework 4.0的配置文件machine.config.comments(该配置文件所在的目录为%Windows%Microsoft.NET\Framework\v4.0.30319\Config),你会发现<protocolMapping>配置节具有如下的定义。

  具体来说,<protocolMapping>配置节定义了四种传输协议(HTTP、TCP、Named Pipe和MSMQ)和对应的绑定类型(BasicHttpBinding、NetTcpBiding、NetNamedPipeBinding和NetMsmqBinding)之间的匹配关系。这实际代表了默认的协议绑定映射关系。

 

<span style="font-family:KaiTi_GB2312;font-size:18px;">   1: <system.serviceModel>

   2:    <protocolMapping>

   3:       <add scheme="http" binding="basicHttpBinding" bindingConfiguration="" />

   4:       <add scheme="net.tcp" binding="netTcpBinding" bindingConfiguration=""/>

   5:       <add scheme="net.pipe" binding="netNamedPipeBinding" bindingConfiguration=""/>

   6:       <add scheme="net.msmq" binding="netMsmqBinding" bindingConfiguration=""/>

   7:    </protocolMapping>

   8:    ...

   9: </system.serviceModel></span>

  如果默认的协议与绑定映射关系不满足具体应用场景的要求,你可以直接修改machine.config或者基于具体应用的App.config或者Web.config。比如,对于上面的例子,如果为之添加一个配置文件并进行如下的配置:将基于HTTP的绑定类型设置为wsHttpBinding.

 

<span style="font-family:KaiTi_GB2312;font-size:18px;">   1: <?xml version="1.0"?>

   2: <configuration>

   3:   <system.serviceModel>

   4:     <protocolMapping>

   5:       <add scheme="http" binding="ws2007HttpBinding" />

   6:     </protocolMapping>

   7:   </system.serviceModel>

   8: </configuration></span>

小结: 如此的话,,你也可以采用无配置的服务寄宿了,这主要得益于WCF提供的默认终结点机制。所谓默认终结点,顾名思义,就是在你尚未为寄宿的服务添加任何终结点的时候,WCF会自动根据服务的基地址(Base Address)为你创建一个或者多个默认的终结点


评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值