WCF服务可以有多少ServiceContracts?

jdi*_*iaz 10 wcf web-services

WCF服务可以有多少ServiceContracts?

具体来说,由于ServiceContract是接口的属性,我可以在一个WCF Web服务中编码多少个接口?这是一对一的吗?

跨多个Web服务分离合同是否有意义?

Ubi*_*chi 18

WCF服务可以有多个端点,每个端点都可以实现不同的服务合同.

例如,您可以按如下方式声明服务:

[ServiceBehavior(Namespace = "DemoService")]
public class DemoService : IDemoService, IDoNothingService
Run Code Online (Sandbox Code Playgroud)

哪条配置如下:

<service name="DemoService" behaviorConfiguration="Debugging">
  <host>
    <baseAddresses>
      <add baseAddress = "http://localhost/DemoService.svc" />
    </baseAddresses>
  </host>
  <endpoint 
    address =""
    binding="customBinding"
    bindingConfiguration="InsecureCustom"
    bindingNamespace="http://schemas.com/Demo" contract="IDemoService"/>
  <endpoint 
    address =""
    binding="customBinding"
    bindingConfiguration="InsecureCustom"
    bindingNamespace="http://schemas.com/Demo" contract="IDoNothingService"/>
</service>      
Run Code Online (Sandbox Code Playgroud)

希望有所帮助,但是如果你追求理论上的最大接口,你可以拥有一项服务,我怀疑它是2的疯狂大倍数.


Ser*_*sta 1

您可以让服务实现您想要的所有服务合同。我的意思是,我不知道是否有限制,但我认为没有。

这是一种巧妙的方法来分离将由同一服务在几个概念上不同的服务契约接口中实现的操作。