我的第一个问题希望它是合适的:
共享接口程序集- 我有一个“共享”程序集,它有一个接口,我们称之为IDocRepository
。它被标记了,[ServiceContract]
并且有几个[OperationContract]
标记的方法。
WCF 实现程序集- 我有两个 WCF 服务项目,每个都引用共享程序集,每个都将该接口实现为 WCF 服务。
消费者程序集——最后,我有一个“客户端”项目,它也引用了共享程序集,并引用了两个 WCF 服务中的每一个。
但是,消费者程序集中生成的服务引用派生自接口的自动生成版本:
public partial class ExampleClient : System.ServiceModel.ClientBase<SomeNamespace.ExampleSvcRef.IDocRepository>, SomeNamespace.ExampleSvcRef.IDocRepository {
我所期望
的是,我希望这两个引用都会自动继承我定义的接口,即消费者/客户端程序集也正在引用。有点像重用它为参数和返回类型提供的类,但用于服务接口。
为什么
这样我就可以创建任一服务引用代理的实例并将其转换为我的接口类型。
所以我每次都可以手动修改生成的代码,但应该有更好的方法......?
(编辑:我确实为两个服务引用选择了“在引用的程序集中重用类型”和“在所有引用的程序集中重用类型”选项)