我在单个 WCF 项目中定义了两个单独的接口和两个单独的端点(.svc 文件)。这些接口共享项目中的公共对象。有没有办法创建一个结合了接口和所有对象的单一代理,因为它们是共享的?
谢谢!
您可以在一项服务中实现多个接口:
public class MyService : IContract1, IContract2
{
}
然后,您可以拥有一个使用这两个合同的服务的代理。
在这里搜索时,我最终找到了另一个线程(我丢失了 url),它建议使用以下 svc 语法:
svcutil.exe /ct:System.Collections.Generic.List`1 /ser:Auto /tcv:Version35 /n:*,MyNamespace http://localhost/MyService/Services/Service1.svc?wsdl http://localhost/ MyService/Services/Service2.svc?wsdl http://localhost/MyService/Services/Service3.svc?wsdl
通过这样做,我能够创建一个具有三个接口和三个客户端类的单一代理,但实现中常见的所有对象只出现一次。