IIS 默认绑定 机械设置

默认的Endpoints

在第一章中创建ProductsSerice 服务时,你并未在web.config中设置任何端点和绑定信息。但是,当宿主环境(IIS)启动该服务时,IIS基于HTTP传输协议和虚拟文件的逻辑 地址(URL)自动创建了默认的端点。事实上,IIS调用了ServiceHost类中AddDefaultEndpoints方法生产了该端点的详细内 容。

AddDefaultEndpoints方法 根据服务包含契约的基本地址添加端点。举例来说,假设服务的基本地址是http://localhost/ProductsService,并且该服务的 服务契约是Products.IProductsService。 AddDefaultEndpoints将为该服务创建一个BasicHttpBinding绑定,其逻辑地址将为基本地址加svc的全名(http://localhost/ProductsService/*.svc)。如果服务实现类实现了两个服务契 约,AddDefaultEndpoints将添加两个端点,每个契约对应一个端点。类似地,如果一个服务设置了两个基本地址而且实现了两个服务契 约,AddDefaultEndpoints将添加4个端点。

那么AddDefaultEndpoints 是如何准确地选择哪个绑定?比如HTTP默认将使用BasicHttpBinding,AddDefaultEndpoints是如何做到这一点呢?它为什么不选择WSHttpBinding?原因在于,在machine.config文件中保存了对应的关

<system.ServiceModel>
...
<protocolMapping>
<clear/>
<addscheme="http" binding="basicHttpBinding" bindingConfiguration="" />
<addscheme="net.tcp" binding="netTcpBinding" bindingConfiguration="" />
<addscheme="net.pipe" binding="netNamedPipeBinding" bindingConfiguration="" />
<addscheme="net.msmq" binding="netMsmqBinding" bindingConfiguration="" />
</protocolMapping>
...
</system.ServiceModel>

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值