2011-12-30 64 views

回答

0

如果使用单独的接口和实现项目/解决方案(并且接口项目也包含服务方法使用的对象的接口),那么WCF服务接口不应该是接口项目的一部分,而应该在实施项目。

这样做的原因是,在他们的方法签名WCF服务操作不应该使用的接口类型,因为接口类型不能序列(以互操作的方式)。他们应该使用实现类型,因此它们应该是实现项目的一部分,否则您需要将接口项目的引用添加到实现项目中。这将是糟糕的设计,并会使接口与实现分离无用。

1

是的,你可以在一个解决方案中的接口和数据对象,并实施另一种解决方案(这将是实际上包含了WCF服务的一个)的接口。

如果你这样做,你可以让WCF服务的客户端(如果你在控制它的话)引用包含接口和对象的程序集,这样就不需要生成它们。

这是做WCF的标准方法,是独立于使用绑定的。

+0

你将如何解决我在我的答案提问题? – Peladao 2011-12-30 12:39:33

+1

@Peladao我不明白你的答案,因为AFAIK他在谈论服务的接口定义,而不是从服务上的方法返回接口。 – Ray 2011-12-30 12:42:52

+0

我假定接口溶液还包含用于由所述服务方法中使用,但也许不是的情况下类型的域对象的接口。 – Peladao 2011-12-30 12:59:18

相关问题