WCF 4.0默认添加WebHttpBinding端点

时间:2011-01-16 20:01:08

标签: wcf .net-4.0 wcf-binding

有没有办法在WCF 4.0中通过配置自动为我的所有WCF服务全局执行此操作?

也就是说,我知道WCF 4.0公开了默认情况下将某些行为应用于所有托管端点的新配置技术,并且您不需要再按配置显式指定单个端点......但是我可以在配置说要使用BasicHttpBinding和WebHttpBinding自动托管所有服务(使用WebHttpBinding的/ web相对地址)?或者我是否仍需要为此使用自定义ServiceHostFactory?

感谢。

1 个答案:

答案 0 :(得分:2)

请参阅Developer's Introduction to WCF 4了解WCF 4中的许多有趣内容。

其中一项新功能称为默认协议映射,这与WCF 4提供的默认端点相结合可能会解决您的问题。

默认端点意味着WCF 4将为您的服务类实现的每个协定(通常只有1个)以及配置中定义的每个基地(或ServiceHost的代码)提供一个端点。

为了确保使用http://自动公开webHttpBinding端点,您还需要覆盖系统默认值(basicHttpBinding) - 您可以执行此操作协议映射。

<configuration>
  <system.serviceModel>
    <protocolMapping>
      <add scheme="http" binding="webHttpBinding"/>
    </protocolMapping>
  </system.serviceModel>
</configuration>