wcf 同时支持webhttp 和 引用方式

Posted 刀锋锋利

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wcf 同时支持webhttp 和 引用方式相关的知识,希望对你有一定的参考价值。

wcf 实现参考

http://www.cnblogs.com/mingmingruyuedlut/p/4223116.html

兼容两种方式  

1、修改服务端webconfig

<system.serviceModel>
    
    <services>
      <service name="xxx" behaviorConfiguration="Default">
        <endpoint address="" behaviorConfiguration="web" binding="webHttpBinding" bindingConfiguration="basicTransport" contract="Ixxx"/>/*提供WebGet服务用*/
        <endpoint address="Wcf" binding="basicHttpBinding" contract="Ixxx"/>/*提供WCF服务 , 注意address=\'Wcf\',为了区分开与WebGet的地址,添加引用之后会自动加上的 */
        <endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex"/>/*元数据endpoint*/
      </service>
    </services>
    
    <behaviors>      
      <serviceBehaviors>        
        <behavior name="Default">
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>        
        <behavior name="">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>        
      </serviceBehaviors>
      
      <endpointBehaviors>
        <behavior name="web">
          <webHttp helpEnabled="true"/>
        </behavior>
      </endpointBehaviors>
    </behaviors>
    
    <bindings>
      <webHttpBinding>
        <binding name="basicTransport"/>
      </webHttpBinding>
    </bindings>

    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
    
  </system.serviceModel>

Web调用地址:http://ip:port/xxx.svc/yyy/id

  Wcf服务地址会变为:http://ip:port/xxx.svc/Wcf

以上是关于wcf 同时支持webhttp 和 引用方式的主要内容,如果未能解决你的问题,请参考以下文章

WCF WebHttp 混合身份验证(基本和匿名)

在 Azure 上的 WCF 中通过 SSL 配置 webHTTP 和 NetHTTP 绑定

WCF 的 WebGet 方式

BizTalk WCF-WebHTTP REST 客户端与正文和标题签名与静态端口

替换 WCF 默认 JSON 序列化

WCF引用服务和直接用接口的区别