如何指定WCF服务使用哪个具体类

时间:2010-01-26 22:35:32

标签: wcf interface

我的端点指定用于管理WCF服务的接口。因为它是一个接口,我可以有多个不同的具体类来实现接口的功能。如何为给定的WCF服务端点指定应使用哪个具体类?

对于这个端点,如何使用这个具体类并为该端点,当两个端点使用相同的接口时使用该具体类?

1 个答案:

答案 0 :(得分:1)

在创建ServiceHost实例时定义要使用的合同实现类型。如果您有多个端点由同一ServiceHost服务,它将创建一个相同类型的实例来响应对这些端点的请求。

如果您希望同一合约的两个端点使用不同的实现,则有两种选择:

  • 在两个单独的服务主机上公开两个端点。 (通过创建两个ServiceHost实例或指定两个<service>配置元素);
  • 有一个类的复合实现,它有两个相同接口的独立实现(通过你能想到的任何OOP方法),并根据端点地址调度这些实现。

我个人会坚持第一种方法。如果你采用第二种方法,那么你基本上就会重新实现ServiceHost